第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

簡單的C掃描不工作?

簡單的C掃描不工作?

C
繁星coding 2019-06-24 13:17:30
簡單的C掃描不工作?如果我嘗試這樣的東西:int anint;char achar;printf("\nEnter any integer:");scanf("%d", &anint);printf("\nEnter any character:");scanf("%c", &achar); printf("\nHello\n");printf("\nThe integer entered is %d\n", anint);printf("\nThe char entered is %c\n", achar);它允許輸入一個整數(shù),然后跳過第二個整數(shù)。scanf完全來說,這真的很奇怪,就像我交換兩個(char(首先,它工作得很好。到底是怎么回事?
查看完整描述

3 回答

?
翻過高山走不出你

TA貢獻(xiàn)1875條經(jīng)驗 獲得超3個贊

讀取輸入時使用scanf,則在按下返回鍵后讀取輸入,但返回鍵生成的換行符不被scanf,這意味著您下次讀到char從標(biāo)準(zhǔn)輸入將有一個換行符準(zhǔn)備閱讀。

避免的一種方法是使用fgets將輸入讀入為字符串,然后使用sscanf作為:

char line[MAX];printf("\nEnter any integer:");if( fgets(line,MAX,stdin) && sscanf(line,"%d", &anint)!=1 ) 
   anint=0;printf("\nEnter any character:");if( fgets(line,MAX,stdin) && sscanf(line,"%c", &achar)!=1 ) 
   achar=0;

另一種使用換行符的方法是scanf("%c%*c",&anint);..這個%*c將從緩沖區(qū)讀取換行符并丟棄它。

您可能需要閱讀以下內(nèi)容:

常見問題:為什么每個人都說不使用scanf?


查看完整回答
反對 回復(fù) 2019-06-24
?
人到中年有點(diǎn)甜

TA貢獻(xiàn)1895條經(jīng)驗 獲得超7個贊

其他答案是正確的-%c不跳過空格。最簡單的方法是將空格放在%c:

scanf(" %c", &achar);

(格式字符串中的任何空格都會使scanf使用所有連續(xù)空格)。


查看完整回答
反對 回復(fù) 2019-06-24
?
叮當(dāng)貓咪

TA貢獻(xiàn)1776條經(jīng)驗 獲得超12個贊

呼叫getchar()以前scanf也將清除存儲的行中斷。更輕巧,但更符合實際情況

char input_1;char input_2;getchar();scanf("%c", &input_1);getchar();scanf("%c", &input_2);

將刷新?lián)Q行符,在連續(xù)的代碼行中更有用,在這些代碼中,您知道它只是一個排隊的值,而不是一個字符串。


查看完整回答
反對 回復(fù) 2019-06-24
  • 3 回答
  • 0 關(guān)注
  • 378 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號