n,空字元,0,三者的關係是怎麼樣的

2021-06-25 14:47:35 字數 3750 閱讀 6159

1樓:郭某人來此

\0和\n在c語言中都是轉義字元。

\0 表示空字元null,對應的ascii碼為0,通常用來表示字串的結束標誌;

\n 表示回車換行,對應的ascii碼為10,通常用在printf函式中,輸出換行;

舉例如下:

char a = "abcd"; // 初始化一個字串

// 下面while迴圈就是統計字元陣列a中字元的個數

while(a[i] != '\0') // 當遇到字元結束標誌符'\0'時,退出while迴圈

printf("陣列a中字元的個數為:%d\n", i); // 使用回車換行符'\n'就是在輸出結果後換行(跟word中換行一樣)

// 執行完後輸出結果如下:

陣列a中字元的個數為:4

2樓:

樓主問的關鍵是,問什麼cout到上面會停止\n 換行,但是實際是系統多半是做的回車和換行處理,\n和空格,(還eof)一般是輸入的時候作為終止符,輸入也可以指定delim,具體請看標準i/o庫函式

null,控制符,\0 ,ascii碼都是0,一回事,我想你應該是想說空格

\0,null,一般是c風格字串的終止字元,所以cout此類字串時會到那兒終止

3樓:匿名使用者

\n是換行符 ascii碼是13

空格 ascii碼是32

空字元和\0是等同的,表示什麼都沒有,連空格都沒有 ascii碼是0

4樓:匿名使用者

\n 是換行,\0是ascii碼為0的控制字元,即空操作。空字元,就是一個空格

c語言中\r和\0代表什麼意思?

5樓:夜禮服假面

\r表示回車到本行首行.\0為null,空字元

所有的ascii碼都可以用「\」加數字(一般是8進位制數字)來表示。而c中定義了一些字母前加"\"來表示常見的那些不能顯示的ascii字元,如\0,\t,\n等,就稱為轉義字元,因為後面的字元,都不是它本來的ascii字元意思了。

所有的轉義字元和所對應的意義:

字元型常量編輯

字元型常量所表示的值是字元型變數所能包含的值。我們可以用ascii表示式來表示一個字元型常量,或者用單引號內加反斜槓表示轉義字元。

'a', '\x2f', '\013';

其中:\x表示後面的字元是十六進位制數,\0表示後面的字元是八進位制數。

注意:在turbo c 2.0中,字元型常量表示數的範圍是-128到127,除非你把它宣告為unsigned,這樣就是0到255。

上面我們見到的\x,\n,\a等等都是叫轉義字元,它告訴編譯器需要用特殊的方式進行處理。

轉義字串(escape sequence),即字元實體(character entity)分成三部分:第一部分是一個&符號,英文叫ampersand;第二部分是實體(entity)名字或者是#加上實體(entity)編號;第三部分是一個分號。

比如,要顯示小於號(<),就可以寫 < 或者 < 。

用實體(entity)名字的好處是比較好理解,一看lt,大概就猜出是less than的意思,但是其劣勢在於並不是所有的瀏覽器都支援最新的entity名字。而實體(entity)編號,各種瀏覽器都能處理。

備註:同一個符號,可以用「實體名稱」和「實體編號」兩種方式引用,「實體名稱」的優勢在於便於記憶,但不能保證所有的瀏覽器都能順利識別它,而「實體編號」則沒有這種擔憂,但它實在不方便記憶。

作用轉義字串(escape

sequence)也稱字元實體(character

entity)。在html中,定義轉義字串的原因有兩個:第一個原因是像「<」和「>」這類符號已經用來表示html標籤,因此就不能直

接當做文字中的符號來使用。為了在html文件中使用這些符號,就需要定義它的轉義字串。當解釋程式遇到這類字串時就把它解釋為真實的字元。

在輸入轉義字串時,要嚴格遵守字母大小寫的規則。第二個原因是,有些字元在ascii字符集中沒有定義,因此需要使用轉義字串來表示。

其實所有程式語言,擁有轉義字元的原因基本上是兩點:

一、使用轉義字元來表示字符集中定義的字元,比如ascll裡面的控制字元及

回車換行等字元,這些字元都沒有現成的文字代號。所以只能用轉義字元來表示

。二、某一些特定的字元在編輯語言中被定義為特殊用途的字元。這些字元由於被定義為特殊用途,它們失去了原有的意義。比如說html中,《被

html定義為標籤的開始,所以當我們轉入《時,html就會把它當作為開始,而不是當作一個《來看待。再如php

的雙引號("),被php定義為字串的外圍標籤,所以如果你在一對雙引號裡面,還想要使用雙引號,只能使用轉義字元了。不然php就會報錯了。

從上面也可以看出轉義無非是兩種情況:1:將普通字元轉為特殊用途,一般是程式語言中,用於表示不能直接顯示的字

符,比如後退鍵,回車鍵,等。2:用來將特殊意義的字元轉換回它原來的意義。一般用在正規表示式中。還有有些指令碼語言是弱型別,有些語言比如html

並不是程式語言,而是標記語言,有些語言只有一種型別 比如shell 指令碼語言,這些語言中字串都不加引號」 」 ,或者可以不加引號「

」,所以有時候需要轉移字元說明某字元此時的身份是普通字元,而不是有特殊意義的元字元。

另外出於**的安全。在資料寫入資料庫前,都會使用轉義字元(函式)對一些敏感字元進行轉義。這樣做可以避免一些別有用心的人利用特殊符號的注入攻擊。

6樓:熊寶豆

\r表示回車到本行首行.\0為null,空字元,也是字串結束標誌

7樓:瑤瑤非常好

\r 即回車,表示將當前位置移到本行開頭。

\0 表示字串結束

8樓:欄杆拍遍

\t是水平製表符,即四個空格;

\0是空字元

9樓:匿名使用者

就是一個字元,,,,你看不見的字元

10樓:匿名使用者

\r表示回車到本行首行,\0表示字串終止

11樓:劍心十三少

\r——將當前位置移到本行開頭

\0——字串中結束符

12樓:永無捷徑

回車不換行,ascii為0

c語言在中,空格是'\0' 的標誌嗎?

13樓:天雲一號

c語言中空格是一個空白字元,如:

printf(" "); // 輸出一個空格'\0'是字串內

的結束標誌位,容如:

char s="abcd";

字串在記憶體中存放'a' 'b' 'c' 'd' '\0' ('\0'表示字串的結束)

但是輸出的時候不會輸出結束字元,如:

printf("%s", s); // 輸出abcd

14樓:匿名使用者

printf("%s",a);這樣列印bai字串時遇到空du格zhi就會結

束scanf("%s",a); 這樣接受也dao只是接受到空格為止gets(a);

puts(a);這樣列印字串會

版得到你想要的結果權 ,記得標頭檔案加上#include

15樓:盲然者

除了上面的還可以用二維陣列做,就不用考慮空格和結束符的我問題了.

16樓:匿名使用者

沒有問題你只接收了一組!!你用個二維的看一下!!

黃金 白金 鑽石三者之間的排名是怎麼樣的啊

白金每克300多 每克160多,做成首飾後會更貴些鑽石 1克 5克拉 1克拉的鑽戒在英國大型商場最便宜的2000英鎊,相當於3w rmb如果品質好,4c指標絕佳,二三十萬一克拉的也有而且隨著鑽石單重的增加 的遞增是幾何級數的所以說,鑽石 是極其不確定的 受品質重量形狀 的影響很大而 鉑金 只要已經提...

電廠中鍋爐脫硫脫硝除塵三者的順序是怎麼樣的

電廠鍋爐煙復氣出來後的順制序是 脫硝 除bai塵 脫硫。因為du脫硝裝 置,需要的反應zhi溫度比較高dao,煙氣首先排出來後,經過脫硝裝置後,可以保證脫硝所需的反應溫度,所以要首先經過脫硝。因為脫硫過程中,用的是脫硫塔,為了防止煙氣中的煙塵堵塞脫硫塔,所以是先除塵,除塵後,煙氣中的煙塵含量降低,最...

閻王 鍾馗 判官三者是何關係,誰的級別高

在歷史上是有關於鍾馗這個人的記載的,傳說在唐朝的時候,鍾馗原本是朝廷的命官,但是因為鍾馗的長相奇特,所以被其他 排擠。最後鍾馗就選擇了撞死在宮殿的石柱上,並且在鍾馗死後,他的靈魂幫助李隆基治病。而李隆基為了獎勵鍾馗就讓人將鍾馗抓鬼的畫像畫了出來,而隨著時間的流逝,鍾馗也就成了神話中的人物。閻王 鍾馗...