為什麼會輸出2呢

2023-01-03 16:36:02 字數 1010 閱讀 5370

1樓:眼眶的濕潤

1全部應該是輸出0 2

!f[n--]的意思 是若f[n]為0,則返回真,否則返回假,而後n自減少1

第一次迴圈的時候f[4]=0 所以為真,n=4-1=3 輸出f[3],也就是0

第二次迴圈的時候f[3]=0 所以為真,n=3-1=2 輸出f[2],也就是2

第三次迴圈的時候f[2]=2 所以為假,結束了迴圈,如果有不懂你可以追問。

提問者看這裡:

1、請提問者認真對待自己的提問,分清誰是抄襲,誰是原創。

2、每一次錯誤的採納,不僅證明了您的智商,也傷害了認真答題的人。

3、如果答案正確,請在15分鐘內採納,謝謝合作。

2樓:

根據樓主的意向,可以這麼修改

#include"stdio.h"

int main()

;while(!f[n])

printf("%d ",f[n--]);//輸出結果後n再減1,而樓主原來的程式,輸出的卻是減1後的數值,

//因為你在判斷後n減1了

return 0;}

3樓:匿名使用者

你吧n-- 改成--n 就只輸出0了

另外 樓下的那個說錯了

"f[4]=0" 樓主定義的int f[4] 只有f[0]=1 f[1]=2 f[2]=0 f[3]=0 沒有f[4]

4樓:文霞yi莉

樓主這就需要了解while(!f[n-1])的作用,這句話的意思是當f[n--]為真的時候,執行迴圈,為什麼會這樣呢?因為前面有「!

",這是個否定符號,就是說為真的時候,就會變成假的!反之,我就不說了.所以n=1的時候,f[1]=2,前面有個!

,所以是零。在c語言中,非零就是真的,這點請樓主記著。

還有向你介紹一下陣列的知識:陣列的的下標永遠比長度小1,這點明白不?向你解釋一下:n=3的時候,是f[4]的第四個元素!明白了沒?有問題找我!

人為什麼會死呢,人老了為什麼會死呢?

如果問生命究竟是什麼?相信許多哲學家至今無法準確回答 大多數的正常人總會感嘆時間匆匆歲月如梭 自古以來許多人窮極一生 人老了為什麼會死呢?會死是因為染色體的原因。人是大自然的乙份子,如果大自然是乙個生命體的話,人就是它的一種細胞,正常的細胞都會因為新陳代謝而死亡,如果出現了不死的細胞,大自然也就危險...

為什麼會迷茫難過呢?為什麼會迷茫?

我現在也是這樣的狀態,我認為我是因為貧窮造成的,甚至找不到活下去的理由。為什麼會迷茫?我相信,我們每個人都會有迷茫的時候,而且在人生的不同階段都會出現不同的迷茫。往往目標都是在迷茫的時候最耀眼。有健全的人生觀和價值觀的人,是不會迷茫的,也不會惶恐不安的。因為他們知道自己是誰,知道自己從 來,要到 去...

1 1 2 1 1為什麼等於2呢

因為 2 這個符號代表有兩個 1 如同 3 這個符號代表有三個 1 等等一樣 再漢字中 一 相當於 1 二 相當於 2 而 代表都 數到一起 所以 1 1 有兩個 1 也就是等於 2 了。當然也可以寫成 一加一等於二 1 1為什麼等於2?1 1為什麼等於2?這個問題看似簡單卻又奇妙無比。在現代的精密...