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,煙氣首先排出來後,經過脫硝裝置後,可以保證脫硝所需的反應溫度,所以要首先經過脫硝。因為脫硫過程中,用的是脫硫塔,為了防止煙氣中的煙塵堵塞脫硫塔,所以是先除塵,除塵後,煙氣中的煙塵含量降低,最...
閻王 鍾馗 判官三者是何關係,誰的級別高
在歷史上是有關於鍾馗這個人的記載的,傳說在唐朝的時候,鍾馗原本是朝廷的命官,但是因為鍾馗的長相奇特,所以被其他 排擠。最後鍾馗就選擇了撞死在宮殿的石柱上,並且在鍾馗死後,他的靈魂幫助李隆基治病。而李隆基為了獎勵鍾馗就讓人將鍾馗抓鬼的畫像畫了出來,而隨著時間的流逝,鍾馗也就成了神話中的人物。閻王 鍾馗...