使用scanf()時
%s %d %lf 等使用時,會從快取區中的讀取資料存入指定的字串或整數中,但當讀到' ' ,'\n'時就會結束。
但不會消耗掉' ','\n'。因此就不得不面對乙個問題,
#include
main()
當你輸入完第乙個字串k後,就會按下回車鍵輸入了乙個『\n』,而這個'\n'不會被消耗,但是%c又可以
接收'\n'這就致使下乙個字i無法賦值.若這個問題往往非常隱蔽難以發現,所以如果出現不賦值就直接
進行下一步操作的時候,可以檢查一下是否出現這種狀況。
那麼如何解決這個問題呢?
其實%s %d 此類符號是在函式中的佔位符,在最初使用scanf時,或許會出現一種狀況:
char k[10];
printf("k= ");
scanf("k=%s",k);
此時,我們就需要 『k= 』 +『需要的值』才能賦值。利用這個方法,我們就可以在快取區中已經存在乙個
『 』或『\n』的狀況,只需稍微修改乙個下**
char i;
char k[10];
printf("k= ");
scanf("%s",k);
printf("i= ");
scanf(" %c",&i);
在%c前加乙個空格 或者『\n』就可以越過這乙個上乙個**遺留下來『 』或'\n' ;
又或者char i;
char k[10];
printf("k= ");
scanf("%s",k);
getchar();
printf("i= ");
scanf("%c",&i);
使用getchar()消耗掉這個『\n』就可以正常輸入了。
C語言 scanf 函式
scanf 函式是用來從外部輸入裝置向計算機主機輸入資料的。scanf 函式的一般格式 案例 已知圓柱體的底半徑radius 1.5,高high 2.0,求其體積。main 案例 已知圓柱體的底半徑為radius,高為high,求其體積。功能 說明函式scanf 的格式及作用。main 程式執行結果...
C語言scanf函式
四 注意事項 編寫程式的主要目的就是為了處理資料。資料從 來?資料的 有很多種方式,如從磁碟檔案中讀取資料 從資料庫中讀取資料 從網頁中抓取資料等,還有一種原始的方式就是從鍵盤輸入資料。在c語言中,有三個函式可以從鍵盤獲得使用者輸入。getchar 輸入單個字元,儲存到字元變數中。gets 輸入一行...
C語言 scanf函式
1 scanf函式,是乙個標準的輸入函式 是乙個阻塞式的函式 當使用scanf的時候,程式會等待使用者輸入,如果不輸入內容,程式不再往下執行 作用 接收從鍵盤輸的的內容 2 使用格式 對比printf printf 格式控制字串 變數列表 scanf 格式控制字串 變數的 位址 列表 printf ...