標題:

免費註冊體驗

 

此文章來自奇摩知識+如有不便請留言告知

C語言 scanf() 一問...急

發問:

scanf("%lf %c %lf", &a, &b, &c); 此scanf讀入 1實數 1字元 1實數。 要怎樣才能在只輸入一個字元時,判斷到所輸入的值為何? 如輸入 'q',程序得知是q,所以執行某些程序; 若不是 'q',則執行另一些程序。 更新: 亂哂... scanf(”%lf%c%lf”,&a,&b,&c); 此scanf讀入 1實數 1字元 1實數。 要怎樣才能在只輸入一個字元時,判斷到所輸入的值為何? 如輸入 ’q’,程序得知是q,所以執行某些程序; 若不是 ’q’,則執行另一些程序。

最佳解答:

如果你的語法是這樣寫的話 你必須輸入三次才能執行下一句程式 假設你輸入的,三次都是 'q' 那麼,a=(int)b; b='q'; c=a; 如你要「只輸入一個字元」就執行某些程式 你必須 scanf( "%c", b ); 而不能一次過 scan 晒所有野 int main() { int a,c; char b; printf( "Please Enter a letter : " ); scanf( "%c" , b ); if ( b == 'q' || b == 'Q' ) { // 執行某些程序 } else { // 執行另一些程序 } return 0; }

其他解答:

to c22742003: Thank you~ 必須要輸入三個啊~ 我知道方法了~~ 就是一樣輸入三個,再跟據scanf回傳的的狀況來判斷; 如果出錯就繼續scan一次字元判斷是否為’q’: status=scanf(”%lf%c%lf”,&a,&b,&c); if(status<0) { scanf(”%c”,&temp); if(temp==’q’) { ...... } else { ...... } }
arrow
arrow

    jpjzhf9 發表在 痞客邦 留言(0) 人氣()