#include"stdio.h"
int main()
{
int n, m, num;
printf("鍵入兩個數:");
scanf_s("%d,%d", &n, &m);
num = n;
if(n>m) printf("%d\n", num + 1);
else printf("%d\n", n * m);
return 0;
}
結果:
鍵入兩個數:2,3
uj5u.com熱心網友回復:
全角逗號和半角逗號不是一回事。uj5u.com熱心網友回復:
建議在scanf_s下加一條陳述句列印出n, m的值,然后根據結果看一下是否是你想要的輸入或者和你的輸入是否一致uj5u.com熱心網友回復:
你沒看清楚吧!全部都是半角逗號。如果出現全角逗號的話會報錯的。
uj5u.com熱心網友回復:
那么程式也就運行不了。我的問題主要就是:在我鍵入2和3兩個數之后,去判斷if陳述句,n<m的它應該執行的是else,但它執行的卻是n>m的。
uj5u.com熱心網友回復:
還真不是我所輸入的值。但這要怎樣解決呢?
uj5u.com熱心網友回復:
請判斷scanf_s函式的回傳值。uj5u.com熱心網友回復:
scanf_s("%d,%d")兩個%d之間的逗號如果用的是英文的話 在輸入時 也要用英文逗號uj5u.com熱心網友回復:
問題可能出現在你的 輸入陳述句 scanf_s("%d,%d", &n, &m); 的兩個分好之間的逗號,跟你在黑框框輸入的時候的逗號不一致,逗號有兩種,一種是英文下的逗號,一種是中文下的逗號。所以,要確保這兩個逗號是同一種,最好都使用英文下的逗號。所以,建議你把逗號都確保是英文下的逗號,在除錯。
或者,把逗號去掉,改成空格,是最好的。
輸入陳述句改成:scanf_s("%d %d", &n, &m);
然后黑框框,輸入的時候輸入:2 空格 3回車。試試!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/77478.html
標籤:C語言
上一篇:改錯程式。
下一篇:資料結構 佇列-簡單任務調度
