1樓:匿名使用者
0.在字元陣列中插入bai換du行符的就是這樣操作的。zhi
1.這個程dao
序有溢位的問題,版
實際程式設計時不可權使用這樣的**,因為**s陣列的長度就是len個字元,所以賦值操作不應該對**s[len+1]之類的位置賦值。
2.由於你的換行符是放在了最後一個字元,所以程式會在輸出完一行之後換行。
2樓:天雲一號
在字串中新增轉義字元時,需要在轉義字元的前面加一個'\'即可。因為c語言中版轉義字元都是以'\'開頭的,因此權在'\n'的前面加一個下劃線,相當於將'\\'當成一個轉義字元,輸出'\',而後面的字元'n'原樣輸出,以此達到輸出'\n'的目的。
舉例如下:
char *str1 = "abc\n";
char *str2 = "abc\\n";
printf("%s", str1); // 輸出abc並回車換行printf("%s", str2); // 輸出abc\n(沒有回車換行)
從上例可以看出,在轉義字元之前加'\'能夠原樣輸出轉義字元。
3樓:匿名使用者
有什麼問題q我:
453867443
uchar **s="**s=\"1343028\",\n溫度是";
這樣不就ok了
4樓:匿名使用者
分配給陣列空間太小了,導致輸出時輸出了未知空間的資料
5樓:匿名使用者
字串後面直接新增『\0』就代表結束了,為什麼要在前面先新增『\n』啊??
轉義字元中\n \r有什麼區別,\n 是回車換行,\r換行?,在程式中具體怎麼用\r啊?
6樓:凹凸曼
\n 是換行,英文是new line。
\r 是回車,英文是carriage return。
\r 與 \n 合起來就是回車換行的意思,回車是將游標移到當前行的行首;換行是將游標移到當前行的下一行,但還是同一列,不會回到行首。
擴充套件資料
關於 「回車」(carriage return)和 「換行」(line feed)這兩個概念的來歷和區別。
在計算機還沒有出現之前,有一種叫做電傳打字機的玩意,每秒鐘可以打 10 個字元。但是它有一個問題,就是打完一行換行的時候,要用去 0.2 秒,正好可以打兩個字元。
要是在這 0.2 秒裡面,又有新的字元傳過來,那麼這個字元將丟失。
於是,研製人員想了個辦法解決這個問題,就是在每行後面加兩個表示結束的字元。一個叫做 「回車」,告訴打字機把列印頭定位在左邊界;另一個叫做 「換行」,告訴打字機把紙向下移一行。
後來,計算機發明瞭,這兩個概念也就被般到了計算機上。那時,儲存器很貴,一些科學家認為在每行結尾加兩個字元太浪費了,加一個就可以。於是,就出現了分歧。
unix 系統裡,每行結尾只有「《換行》」,即「\n」;windows 系統裡面,每行結尾是「< 換行 >《回車》」,即「\n\r」;mac 系統裡,每行結尾是「《回車》」。一個直接後果是,unix/mac 系統下的檔案在 windows 裡開啟的話,所有文字會變成一行;而 windows 裡的檔案在 unix/mac下開啟的話,在每行的結尾可能會多出一個^m符號。
7樓:匿名使用者
\n是換行,英文是new line,表示使游標到行首:在windows 中表示換行且回到下一行的最開始位置。相當於mac os 裡的 \r 的效果。
在linux、unix 中只表示換行,但不會回到下一行的開始位置。
\r是回車,英文是carriage return,表示使游標下移一格:在linux、unix 中表示返回到當行的最開始位置。在mac os 中表示換行且返回到下一行的最開始位置,相當於windows 裡的 \n 的效果。
具體例子如下:
eclipse裡執行結果如下:
8樓:匿名使用者
'\r'是回車,前者使游標到行首,(carriage return)
'\n'是換行,後者使游標下移一格,(line feed)
\r 是回車,return
\n 是換行,newline
對於換行這個動作,unix下一般只有一個0x0a表示換行("\n"),windows下一般都是0x0d和0x0a兩個字元("\r\n"),蘋果機(mac os系統)則採用回車符cr表示下一行(\r)
unix系統裡,每行結尾只有「《換行》」,即「\n」;
windows系統裡面,每行結尾是「《回車》《換行》」,即「\r\n」;
mac系統裡,每行結尾是「《回車》」,即「\r」。
一個直接後果是,unix/mac系統下的檔案在windows裡開啟的話,所有文字會變成一行;而windows裡的檔案在unix下開啟的話,在每行的結尾會多車一個^m字元。
dos和windows採用回車+換行cr/lf表示下一行,即^m$($不是換行符的表示,換行符沒有表示出來,$是文字結束eof的表示)
而unix/linux採用換行符lf表示下一行,即\n
蘋果機(mac os系統)則採用回車符cr表示下一行,即\r
cr用符號'\r'表示, 十進位制ascii**是13, 十六進位制**為0x0d;
lf使用'\n'符號表示, ascii**是10, 十六製為0x0a. 所以windows平臺上換行在文字檔案中是使用 0d 0a 兩個位元組表示, 而unix和蘋果平臺上換行則是使用0a或0d一個位元組表示.
由於dos風格的換行使用\r\n,把這樣的檔案上傳到unix,有些版本的vi不能識別\r,所以vi顯示時在行尾會出現^m出來,但是有些就能識別\r\n,正常顯示回車換行。
9樓:桓秋芹岑午
\n是換行,\r是回車,是不同的
#include
intmain()
return0;}
這樣,新列印出來的
i是會覆蓋了前面的,而如果用
\n就是換行列印,不會覆蓋前面的
如果在檔案裡面,\r\n
才是檔案裡面的換行
c語言中,單獨輸出轉義字元"\n",如printf「\n」,代表什麼意思?和放到格式字元後面有什麼
10樓:金色潛鳥
格式字元裡 "\n" 是換一來行的源意思。
printf("\nabc"); 先bai 換一行,再列印du字元abc.
printf("abc\n"); 先打zhi印字元abc, 再換一行.
printf("\nabc\n"); 先 換一行,再列印字元abc, 然後dao再換一行。
11樓:兔子小神
是printf("\n");就是換行的意思
12樓:江南客棧愛發呆
沒有區別,都是換行的意思
13樓:匿名使用者
就是換行,沒什麼特別的意思
C中如何除去字串中的轉義符,C 如何去掉string中所有轉義字元(特殊符號)?
在字串的前邊加 eg string str 14 r a string str a r n str.replace r n c 轉義字元總結 轉義字元 一種特殊的字元常量 以反斜線 開頭,後跟一個或幾個字元。具有特定的含義,不同於字元原有的意義,故稱 轉義 字元。主要用來表示那些用一般字元不便於表示...
C中如何分割字串C中如何分割字串,例如將某個帶著路徑的檔名的字串分割後只得到最後的檔名。。。
可以用split。比如你先定義一個字串物件 string str a,b,c,d,e,f,g 然後你再定義一個陣列 string words str.split 這段 就是把str按照逗號進行分割,也就是把str分割成a和b和c和d和e和f和g儲存在你定義的字串陣列words中,此時words 0 ...
跪求c語言字串處理函式,跪求 c語言字串 7個處理函式
1.字串連線函式 strcat 原型 char strcat char str1,const char str2 2.字串查詢函式 strchr 原型 char strchr const char str1,const char str2 3.字串比較函式 strcmp 原型 int strcmp ...