1樓:匿名使用者
\n是換行符,就源是表示重bai
起乙個新行開始輸出。
在字du符串的什麼位置zhi,那麼輸出的時候也dao對應在那個位置換行
比如printf( ""123\n456 );
\n在123之後,所以輸出123結束便重起一行開始輸出,結果是:
123456
'\n'出現在scanf裡行為比較特殊,比如scanf( "\n\n%d\n", &n );你認為要輸入2個換行,但scanf在遇到格式化控制符之前(比如這裡的%d)會自動略過所有的空白字元(空格,tab,換行之類的),所以結果是你不需要輸入2個換行然後才可以輸入數值到n裡面,但'\n'出現在格式化控制符之後時,scanf不會自動略過它,而scanf預設是以空白字元來分隔輸入的(也就是scanf預設無視\t\n' '),所以你在輸入之後,由於輸入的空格和換行無法被scanf讀取到,所以只有輸入乙個非空字元你才能使scanf結束。因此在scanf裡新增\n,\t或者空格一種多次一舉的做法,完全沒必要,基於空白字元的格式化輸入,都可以在輸入時自己diy,因為 scanf預設忽略這些空白字元。
2樓:匿名使用者
\n是換行符bai;就相當於你按du鍵盤的回車
輸出
就是dao一行回空的,在輸出輸出c='''''''''''''。在換行答,就是輸出一行空的。
3樓:匿名使用者
\n 代表換行
在前表示 先輸出換行再輸出後面的東西
在後 表示先輸出c=..再輸出換行
c語言 如何在字串中新增轉義字元 \n
4樓:匿名使用者
0.在字元陣列中插入bai換du行符的就是這樣操作的。zhi
1.這個程dao
序有溢位的問題,版
實際程式設計時不可權使用這樣的**,因為**s陣列的長度就是len個字元,所以賦值操作不應該對**s[len+1]之類的位置賦值。
2.由於你的換行符是放在了最後乙個字元,所以程式會在輸出完一行之後換行。
5樓:天雲一號
在字串中新增轉義字元時,需要在轉義字元的前面加乙個'\'即可。因為c語言中版轉義字元都是以'\'開頭的,因此權在'\n'的前面加乙個下劃線,相當於將'\\'當成乙個轉義字元,輸出'\',而後面的字元'n'原樣輸出,以此達到輸出'\n'的目的。
舉例如下:
char *str1 = "abc\n";
char *str2 = "abc\\n";
printf("%s", str1); // 輸出abc並回車換行printf("%s", str2); // 輸出abc\n(沒有回車換行)
從上例可以看出,在轉義字元之前加'\'能夠原樣輸出轉義字元。
6樓:匿名使用者
有什麼問題q我:
453867443
uchar **s="**s=\"1343028\",\n溫度是";
這樣不就ok了
7樓:匿名使用者
分配給陣列空間太小了,導致輸出時輸出了未知空間的資料
8樓:匿名使用者
字串後面直接新增『\0』就代表結束了,為什麼要在前面先新增『\n』啊??
c語言轉義字元'\x'和'\x'有什麼區別啊
9樓:仁昌居士
c語言轉義字元'\x'和'\x'區別為:ascii碼值不同、表示不同。
一、ascii碼值不同
1、轉義字元'\x':轉義字元'\x'的ascii碼值為120。
2、轉義字元'\x':轉義字元'\x'的ascii碼值為88。
二、不同
1、轉義字元'\x':轉義字元'\x'表示後面的字元是十六進製制數。
2、轉義字元'\x':轉義字元'\x'表示的是大寫字母x。
10樓:匿名使用者
如果想用轉義字元用十六進製制表示應使用'\x12'這樣的形式,注意應該是小寫x,不是大寫的x
為什麼會輸出26200轉化成十六進製制是66 58 而字元'f'和'x'的ascii碼值用十六進製制表示就是66和58
至於為什麼是6658而不是5866,因為lz的編譯器是針對大端模式的
11樓:
c中的十六進製制ascii碼換碼序列的引導符是'\x'而不是'\x',所以談不上它們有什麼區別。下面的**可以驗證:
//#include "stdafx.h"//if the vc++6.0, with this line.
#include "stdio.h"
int main(void)
輸出是n e。這表明系統只認\x而不認\x,所以前者輸出了對應字元n,後者被截斷為e。
c語言轉義字元"\t"到底是怎麼跳位的
12樓:匿名使用者
||\t 是8位但是你要明白它不是對於前乙個字元來說的8位,而是對面斑來說的
printf("a\tb\n");
|a| | | | | | | |b|
printf("as\tb\n");
|a|s| | | | | | |b|
printf("asdfghj\tb\n");
|a|s|d|f|g|h|j| |b|
printf("asdfghjk\tb\n")'
|a|s|d|f|g|h|j|k| | | | | | | | |b|
13樓:星月小木木
#include "stdio.h"
void main()
這裡\t,\n都是轉義字元,\t是跳格,相當於按tab鍵,\n是回車換行,相當於按回車鍵
14樓:風起雪落
1、\t是製表符,相當於敲了一下tab鍵,為4個空格,;
2、如print("a\tb"),則輸出a____b,相當於輸入a之後按一下tab鍵再輸入b,就是這樣。
15樓:公尺若明
如何跳製表位是看環境的,在檔案中它就是存了乙個'/t'的。。。
不同在文字編輯器不一樣~
在dos中8個為乙個製表位
要得就是空格不一樣多
這樣就能形成
a________b
abcdf____a
這樣類似**的效果~
16樓:匿名使用者
仔細閱讀c 課本,然後仔細考慮考慮,多寫些程式,時間長了就明白了.老師說了,而且書上也寫了,在初學時不要在死扣細節問題,我想可能就是指這些問題吧,試試吧~
c語言中的轉義字元如「\n」,「\t」,「\b」,「\r」,「\f」,「\377」等是什麼意思
17樓:匿名使用者
或者寫個printf();試一下就知道了.
printf("a\nb\tc\bd\fef");
在書寫像換行,空格,製表符,時為了方便擴充使用這種表示方法, \數字以八進位制方式書寫,可以查碼表;
c語言轉義字元\r是什麼意思
18樓:
\r——抄cr(回車),把游標移到襲所在行開頭;\n是把游標移到下一行開頭。
\t——tab(水平製表符),乙個\t可在水平方向空出多個空格,使用者可設定。
\v——tv(垂直製表符),使後續輸出在終端的垂直方向定位,但螢幕上不起作用。
19樓:匿名使用者
\r回車符
\n換行符
\t橫向製表符
\v縱向製表
c語言的字元處理章節有詳細說明!
20樓:匿名使用者
在c語言中,其轉義符 \r 是回車的意思,功能是把游標轉到當前行行首。
21樓:好紅客
\t 橫向(水平)跳到下一製表位置,相當於按 tab 鍵
\v 豎向跳格
22樓:
\r 回車,\t 水平製表符橫向跳到下一製表位置,\v這個好像不是轉義字元吧
23樓:love添飯
\r換行 相當於回車
\為轉義字元
24樓:匿名使用者
換行,把游標轉到當前行行首
下面哪些是非法的C語言轉義字元多選
轉義字元 bai 含義 ascii碼 16 10進製 o 空字元 null 00h 0 n 換行du符 lf 0ah 10 r 回車符 cr 0dh 13 t 水平zhi 製表符 ht 09h 9 v 垂直製表 vt 0b 11 a 響鈴dao bel 07 7 b 退格符內 bs 08h 8 f ...
c語言中關於字元陣列的長度問題,C語言中關於字元陣列的長度問題
r 這是個字元陣列,系統只為它分配了3個位元組的空間,但是strlen只有遇到 0 才會返回 於是它會向後繼續進行,直到有 0 這其實是越界 或許沒有,可能訪問的是q 10 了.你可以這樣 printf s n r 來檢視下列印的資訊。在我的上面 tc 是 3 3 3 9 哎。strlen 是在st...
初學C語言字串指標陣列的問題,關於C語言字串指標陣列的問題
樓主可以分別執行下這兩個程式 include void main void include void main void 第乙個無法執行,為什麼?因為 s abc abc 是從靜態儲存區域所分配的記憶體,所以導致s 0 無法改變,所以 abc 為常量字串 ps 常量字串的內容是不可以被修改的 第二個...