當前位置:首頁 » 編程語言 » 為什麼c語言算數結果為1
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

為什麼c語言算數結果為1

發布時間: 2022-12-13 01:09:22

A. c語言,為什麼運行結果只有個1

如圖所示,列印出來e的值為1

那麼在while循環中只有a==e即a==1時才會輸出a的值

a的初始值為1,所以會輸出1,隨後a自增,之後就不再輸出了

B. c語言吧。為什麼輸出會是1,而不是0.

printf
的參數並不會自動做類型轉換的。
例子中格式串中有「%f」,編譯器就會當後邊的參數是個浮點數,它不做類型檢查。
而把一個
int當成浮點數,因為兩種類型的存儲結構是完全不同的,後果就難以預料了,有可能程序崩潰,也可能正常運行,但得不到正確的結果。
具體到樓主這個問題,
把整數1當成浮點數處理,那就是符號位0,階碼0,尾數1,是非規范浮點數,不同編譯器處理結果可能不同。
所以,不要寫出這樣的代碼。

C. C語言結構問題,為什麼結果為1

這是因為在C語言中,兩個整數的商,也是一個整數(任何小數的部分,都會被直接「丟棄」)
所以,3/2就等於1了。
如果想要得到1.5的結果,那麼就應該輸出:
printf("%f\n",(float)s[0].y/s[1].x);

D. C語言為什麼結果總是一

你那個for裡面 為啥 是(C = string[i] ) != ' \0' 啊 感覺這么些有歧義啊~
你在不同的編譯器裡面結果不一樣~
有的就是判斷你C = string[i] 賦值完成 返回1 再和後面比較的
而且還沒有for循環 if都沒有大括弧~~看著很蛋疼 這東西不上機編譯一遍 反著我是不敢肯定到底走哪一條分支~
你把大括弧補全了,再把那個C的賦值去掉了 直接用string[i] 在裡面做運算一樣的~看看還出不出錯

E. 為什麼C語言的結果一直為1

scanf的返回值不是a,而是你輸入的變數個數,比如你這個就返回1,scanf("%d%d",
&a,&b)就返回2,你可以在if前面輸入a,然後if判斷a!=0,也可以這樣改if((scanf("%d",&a),
a!=0))