請問在c語言中getsscanfgetchar是等價的嗎

時間 2021-05-07 20:01:27

1樓:

1.scanf("%s",s),輸入字串應該用%s的格式,逗號後面要用字串地址,通常是字串的名字,不需再加&號。

這個函式與gets的區別有兩個:

第一,從鍵盤輸入的時候遇到空字元(空格、tab、回車)就會停止讀入,例如輸入:hello word! ,s串的內容是:hello。

第二,使用scanf可以一次輸入多個字串,如scanf("%s%s%s",s1,s2,s3),從鍵盤輸入時一行代表一個字串。

2.gets(s)一次只能輸入一個字串,但它可以接受空格和tab做為字串的有效字元,遇回車符終止接收。

3.getchar函式是字元函式,只能用來接受1個字元,可以用ch=getchar()來給char型變數ch賦於一個字元型的值。

這裡須要注意的是c語言中字元變數與字串的不同,字元變數用char來定義,佔1個位元組的記憶體,只能存放一個字元,字元常量是用單引號引起來的1個字元或者是轉義字元。而字串是指用雙引號引起來的一串字元,c中沒有字串變數,字串儲存在字元型的一給陣列中。

2樓:夫妻那些事兒

要注意不同的函式是否接受空格符、是否捨棄最後的回車符的問題!

讀取字元時:

scanf()以space、enter、tab結束一次輸入,不會捨棄最後的回車符(即回車符會殘留在緩衝區中);

getchar()以enter結束輸入,也不會捨棄最後的回車符;

讀取字串時:

scanf()以space、enter、tab結束一次輸入gets()以enter結束輸入(空格不結束),接受空格,會捨棄最後的回車符!

3樓:

gets 字串中可以有空白符號,遇到回車終止輸入。

scanf("%s")遇到第一個空白符號或者回車停止輸入getchar()只讀一個字元

例如輸入abc 12345 89按回車

如果用gets(s)接收,字元陣列s將儲存abc 12345 89\0

而用scanf("%s",s)接收,字元陣列s將儲存abc\0.

這說明gets遇到回車才停止接收,而scanf("%s")碰到空白符停止接收

label在c語言中是什麼意思,在C語言中loop是什麼意思?

四舍 入 標籤的意思,一般用在goto語句中。比如 lable 001就是一個標籤 void main int a 0 int b printf hello lable 001 printf hello,lable 001 n a if a 5 goto lable 001 printf hello...

在c語言中,在C語言中ch c A a 是什麼意思,其中ch和c是字元

小丁創業 在c語言中ch c a a 的意思是,是把表示大寫字母的變數c轉換為小寫字母的語句,使用前一般要先判斷一下的,如下 if c a c z ch c a a 因為當c b 時,c a 就等於1,然後1 a 就是 b 如果事先不檢測的話,當c不是大寫字母時作這樣的轉換是會無法理解的。 聽不清啊...

c語言中extern是什麼意思,在C語言中標頭檔案的extern是什麼意思呢?

extern 宣告的函式是在外部定義的函式例項,最常見的就是通過extern定義在win32 dll定義的非託管函式。 取經人取經 就是全域性變數的意思,在建立工程的情況下,其他檔案也可以呼叫這個變數。 陳振龍 用了extern,就表示這個變數是全域性的和動態的,不存在使用哪一個的問題.比如3號檔案...