只是把a和b的順序換了一下,然后就不行了


uj5u.com熱心網友回復:
你第二次輸入的逗號是中文的吧uj5u.com熱心網友回復:
scanf后,你跟一句printf,把a和b輸出出來,看看是不是你輸入的那兩個值為避免這個問題
scanf("%d%d", &a, &b); 中間不要逗號,輸入的時候也12 45 這樣,數字之間用空格分開
uj5u.com熱心網友回復:
你第二次輸入,除了, 號還加了空格, 就出問題了, 輸入要和scanf設定的格式完全一致uj5u.com熱心網友回復:
樓上說的正解,加了空格,實際沒讀取到45這個值,相當于b沒有被賦值,所以出現了隨機大數uj5u.com熱心網友回復:
手誤空格問題。其實如果對于這種情況有疑問,可以試試Debug,我的編譯器是Dev-C++,就是點擊一個“√”號來Debug的,Visual應該也沒啥區別uj5u.com熱心網友回復:

別瞎說!
scanf輸入多個數字都時候, 輸入12,之后別說中間一個空格,你放100個空格也不影響, 甚至敲上八行回車再輸入45也不影響正確的輸入
空格,tab和回車都會被scanf自動過濾掉的
int main(){
int a, b, n;
n =scanf("%d,%d", &a, &b);
printf("n:%d, a:%d b:%d\n",n, a, b); // 馬上輸出你獲得到a和b的值,以及scanf正確從鍵盤獲取到有效值得個數n
。。。。
uj5u.com熱心網友回復:
注意逗號是英文的才行,輸入中文逗號,根據逗號占用的字符不一樣(中文和英文)所以會出現你說的這個問題~轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/124470.html
標籤:C語言
