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

c語言初始值為0為什麼結果為1

發布時間: 2022-06-22 04:23:14

c語言選擇題,為什麼答案是1,0 求解

兩個知識點:
1、運算符的優先順序
或運算的左邊的式子m=a==b,==優先順序高於=,所以m=a==b即等於m=(a==b)
所以m=1.(1為真)
2、在c中為了達到代碼優化的目的,A或B的運算,如果A為真,則B式不計算。所以n為其初始值0.

Ⅱ c語言問題 我的為什麼輸出一直為1

首先,你這個東西輸出的不是1,而是一個不確定值(IND),說明出現除零錯誤。
經過debug發現階乘出現0.很明顯,問題在於階乘時的變數''沒有初始化。初始化為1,你這個程序就能用了。
樓上搶先了,他就是正解。

Ⅲ c語言:為什麼第一個結果是0,第二個是1

第一為0: 從右向左 ++i先算,又因為++i先計算i得2+1=3,所以是f(3,3)
第二個為1:從右向左 i++先用i,所以是2,然後經過i++,i變成了3,所以是f(3,2)
不知道分析的對不對,哈哈!
總之注意:i++和++i,如果要用i,那麼前者先用i後計算;後者先計算後用

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

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

Ⅳ C語言 下面程序運行結果為什麼是0 而不是1 main() {int n[5]={0,0,0},

因為循環的時候當i等於k的時候退出循環了,根本沒有運行循環體n[i] = n[i]+1;這一句,所以n[k]的值為初始化的值,初始化的值為0.故輸出0,。

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

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

Ⅶ 在C語言中0!=1為什麼

說的簡單一點是認為規定的,但它是有道理的,你想過沒有,為什麼不規定0!=0呢?因為階乘是一個遞推定義,n!=n*(n-1)!,那麼必然有一個初值需要人為規定。我們知道1!=1,根據1!=1*0!,所以0!=1而不是0。

Ⅷ 為什麼C語言(x)為1

因為B被賦值一個邏輯值(非0即1),它是一個邏輯與的值:當 && 兩側的值均非零時,邏輯值即為1。
現在,x非0,且z<'b'也為真,所以,邏輯值為真,即為1,所以輸出是1

Ⅸ 關於C語言中的!0的值為什麼是1,還有就是1&&0的運算為什麼是0

&&是邏輯運算符,兩個結果中有一個0結果才是0,比如0&&1,結果是0;1&&0,結果也是0。還有一個&是位運算符,不要搞錯了。

Ⅹ c語言大神求破 為什麼我設的幾個變數在初始賦值零了後莫名其妙變成-1了

我需要源碼才能幫你分析錯誤,變數不可能無故變更,只有三個可能,第一,源碼處重新賦值了,第二,三方函數庫的函數調用時,作為參數的變數被重新賦值,第三,惡意的病毒修改了程序內存所有權,並且惡意的修改變數的值(再者是修改地址)。沒有第四個可能性!