慕婉清6462132
2021-12-09 11:07:23
程序如下: main() { int x,y,z; scanf("%d%d%d",&x,&y,&z); printf("%d\n",x+y+z); } 輸入:25,13,,10 輸出為什么是3278? 各位,我知道正確的格式,我是想知道為什么是3278,我換輸入:0,0,0,就是3253了.也就是這個數字是怎么來的,我用的是Turbo c 2.0,也就是想知道,帶逗號后的這個輸出數字是如何得到的.為什么是這個數字?謝謝!
3 回答

慕田峪4524236
TA貢獻1875條經驗 獲得超5個贊

HUWWW
TA貢獻1874條經驗 獲得超12個贊
因為你的scanf函數中的格式與輸入的格式不對,即
scanf("%d%d%d",&x,&y,&z);這句中格式應該與后面的變量一致,三個%d之間要加逗號,改為scanf("%d,%d,%d",&x,&y,&z);改成這樣結果就是對的,而是你那樣的做法,相當于變量x,y,z沒有初始化,所以結果是一個隨機數。

牛魔王的故事
TA貢獻1830條經驗 獲得超3個贊
這個問題實際上意義不大,%d之間無空格,輸入時可以用空格鍵隔開或者Tab鍵,但是像這樣scanf("%d,!%d**%d",&a, &b, &c),那你輸入時,應該這樣輸入23,!-56**678
這樣輸入a,b,c的值就分別是23,-56,678。樓上那位有一點錯誤,scanf("%d,!%d**%d",&a, &b, &c),%d之間間隔符號沒必要和&a,&b,&c一樣 我這樣寫也是可以的,但是這是為了區分,沒有誰閑著沒事寫成這樣子。
- 3 回答
- 0 關注
- 365 瀏覽
添加回答
舉報
0/150
提交
取消