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的值!很好理解! 這個是 d的原因,假設你這段 執行的機器上int型變數是4位元組記憶體 那s就是4個位元組的標誌,printf的實現機理是,除了第乙個引數,其它引數用棧存放,解析第乙個格式字串引數,根據字串中指出的格式控制符,依次在後續引數中找對應的記憶體資料,因此想象一下,printf在執行時,只會根據解析到的格... 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... 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 ... 理論上是應該執行兩次啊,迴圈體部分應該沒什麼問題的 回車也當字元讀入了?while 1 中1表示true的意思,也就是不管什麼情況下都執行該迴圈這樣的話,迴圈體內必須要有break否則死迴圈 while p 是指標了,一般在一維或者二維陣列中存字串時使用,用來判斷 0 也就是字串尾的 case 0 ... 首先你截圖的型別不是字元型char,而是字元指標型char 指標型別的變數pc儲存的是乙個字元的位址,而圖上 asdf 是乙個字串常量,在記憶體中是乙個長度為5的字串 最後有乙個隱藏的結束符號0 用pc asdf 就是把這個字串第乙個字元的位址給了pc變數。或者說指標pc指向了字串常量 asdf 所...很簡單的c語言,求教大神,很簡單的C語言,求教大神!
簡單的c語言問題,乙個簡單的c語言問題
C語言簡單的問題,C語言乙個簡單的問題
c語言的兩個簡單問題,C語言的兩個簡單問題
簡單的C語言問題,c語言簡單問題