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樓:匿名使用者
沒有問題你只接收了一組!!你用個二維的看一下!!
美真理傳統美學三者之間的關係是怎麼樣的
對藝術之本質的深入討論,必定導致這樣乙個要求,即劃清藝術哲學與傳統 美學的界限。傳統美學的基本困境源自美與真理的分立。美被規定為作品的形式,真理則是作品的那個非形式的內容。在以往美學中也曾做出努力,論證真與美的統一。但這兩者在美學中是怎樣統一的呢?它可以概括在這樣一句話裡 真正的藝術是以美的形式表達...
戀愛,愛情,婚姻三者的關係,愛情,性,婚姻三者是什麼關係
戀愛了才有了愛情.有了愛情才能結婚.三者關係都是密不可分的.愛情,性,婚姻三者是什麼關係 個人觀點,三者相輔相成吧,愛情是兩個有緣人步入愛河 共知共守,性是兩情相悅融為一體的情感昇華,婚姻則是博大的家庭生活 愛是人類崇高的精神寄託.性是人類基本的生理需要.婚姻是社會對人的行為規範.三者沒有必然的聯絡...
禮節禮貌禮儀三者之間的關係是
種社道德bai規範社交際 du行準則禮 禮貌 禮節 禮儀都zhi 屬於禮範疇dao 禮貌表示尊重版 言行權規範 禮節表示尊重 慣用形式 具體要求禮儀由 系列具體表示禮貌 禮節所構完整程 禮貌 禮節 禮儀三者儘管名稱同都 相互交往 表示尊敬 友 行其本質都 尊重 關 三者相輔相密禮貌 懂禮節往往容易失...