有個c語言很簡單的問題想不通,有個C語言很簡單的問題想不通

時間 2022-03-11 03:31:14

1樓:

本**正確!以yi=1,er=1,san=2來說明你的問題。

把省略的{}加上,並按書寫規範縮排後的**如下:

if(yisan) printf("%d\n",yi);

else printf("%d\n",san);

}看——

if(er

printf("%d\n",san);

else

printf("%d\n",er);

是if(yi

為什麼不把

if(er

printf("%d\n",san);

else

printf("%d\n",er);

用{}括起來也可以呢?因為這只有一句!當「體」只有一句時,c/c++規定可以省去這一句前後的{},當然也可以加上。

其實,倒數第二個else後的一對{}也可以省略,因為它也是一句。你可以試試……

2樓:爽爽

你忘了打;號,還有就是沒用對else if修改如下:

...if(yisan)

else}

3樓:暮靄晨曦

**重寫,理一下思路:

#include

void main()

else

} //else結束

}如果yi和er的值相等,則執行

else

else

} //else結束

然後再判斷yi和san的值。

4樓:

#include

void main()

}看清層次結構。。。

5樓:匿名使用者

...if(yisan) printf("%d\n",yi); //滿足,輸出

else printf("%d\n",san);

...條件判斷語句本身並不要求條件是完備的(即:即使所有條件都不滿足,程式也可正常執行,不滿足條件不執行即可)。

但從你的程式來看,條件判斷是完備的(每個if語句都有相應的else語句),因此二擇其一,這個程式最後必會輸出乙個結果。

「進入第二個比較else if(yisan)滿足條件的。再說即使是else if(yi

6樓:

只有if,你那個else if在**!這個程式先判斷yi

第乙個if不滿足,執行第二個else,然後執行第三個if,條件滿足於是輸出yi的值!很好理解!

很簡單的c語言,求教大神,很簡單的C語言,求教大神!

這個是 d的原因,假設你這段 執行的機器上int型變數是4位元組記憶體 那s就是4個位元組的標誌,printf的實現機理是,除了第乙個引數,其它引數用棧存放,解析第乙個格式字串引數,根據字串中指出的格式控制符,依次在後續引數中找對應的記憶體資料,因此想象一下,printf在執行時,只會根據解析到的格...

簡單的c語言問題,乙個簡單的c語言問題

if a b 當a b的時候把 a與b的值互換,a b的時候不做互換if a c 當a c的時候把 a與c的值互換,a c的時候不做互換 以上兩個if語句找出a,b,c的最小值,儲存到a中,當然如果a在輸入時就是最小的那根本就不需要執行上面語句 實際上也不執行 if b c 找出b與c哪個小儲存在b...

C語言簡單的問題,C語言乙個簡單的問題

for i 0 i 3 i n i 0 這一句是把陣列n中的元素清零。k 2 for i 0 i for j 0 j 第一次for i 0 i n j n i 1 實際上是n 0 n 0 1 j,i都為0 結果n 0 為1 n j n i 1 實際上是n 1 n 0 1 j 1,i 0 結果n 1 ...

c語言的兩個簡單問題,C語言的兩個簡單問題

理論上是應該執行兩次啊,迴圈體部分應該沒什麼問題的 回車也當字元讀入了?while 1 中1表示true的意思,也就是不管什麼情況下都執行該迴圈這樣的話,迴圈體內必須要有break否則死迴圈 while p 是指標了,一般在一維或者二維陣列中存字串時使用,用來判斷 0 也就是字串尾的 case 0 ...

簡單的C語言問題,c語言簡單問題

首先你截圖的型別不是字元型char,而是字元指標型char 指標型別的變數pc儲存的是乙個字元的位址,而圖上 asdf 是乙個字串常量,在記憶體中是乙個長度為5的字串 最後有乙個隱藏的結束符號0 用pc asdf 就是把這個字串第乙個字元的位址給了pc變數。或者說指標pc指向了字串常量 asdf 所...