c語言小問題為什麼在if後面一直都沒有花括

2021-06-26 19:17:00 字數 2672 閱讀 9463

1樓:匿名使用者

1、加上大括號相當於一個語句塊,if條件隻影響其後面的第一個語句或語句塊,加括號的話,則執行括號中的全部語句(也就是在if條件成立的情況下,則全部執行,如果if條件不成立,則整個括號中的語句都不執行);而不加括號的話,則影響其後的第一條語句,也就是說不管if條件成不成立,第一句以後的都不會有任何影響。if 語句後有大括號, 則大括號裡面所有的語句都會在if表示式為真時執行;如果沒大括號,則if表示式為真時只會執行第一條語句.

2、例如:

#include

int main()

if (false)

printf("11111111111\n"); // 只有這一條不會列印

printf("22222222222\n"); // 以下兩條都會列印

printf("22222222222\n");

return 0;}

2樓:匿名使用者

如果if後面的語句只有一條的話,可以省去花括號;

如果有多條,則花括號不能省去。

3樓:

if條件成立時執行的語句只有一條的話,可以不加大括號,else也是

4樓:匿名使用者

如果沒有花括號,則是簡單語句,有則是複合語句。

if(x<100) y=-1;

和if(x<100) 是等效的,如果有兩條以上的,則是複合語句,用{},如if(x<100)

如果不用{}, 則x=0;是無條件執行的,這時再else就會錯誤。

5樓:kiss璀璨青春

花括號表示一個**塊

if只能控制一個**塊或一條語句,當只需要控制一條語句時,可以忽略不寫**塊,不過為了可讀性建議if語句不論是否只控制一條語句統一加上花括號

6樓:無語勒

你這樣也不會錯的:

#include

void main()

else

else

}printf("x=%d,y=%d\n",x,y);

}花括號只是為了讓電腦和你看if或else作用的區域方便而已,不加的話電腦也會自動識別。當然最好加一下避免意外。

c語言,if語句後有大括號和沒大括號有什麼區別

7樓:八哥說科技

1、句式不同:

if語句後用括號{}括起來組成的一個語句稱複合語句。 在程式中應把複合語句看成是單條語句,而不是多條語句。如:,大括號中的幾條單語句是一個整體,是一條複合語句。

2、語句邏輯不同:

if語句後有大括號的複合語句執行邏輯是整體執行的,只要if條件成立,括號中的幾條語句都會執行,如果沒有大括號,只會執行緊跟if後的單條語句。

8樓:匿名使用者

if 語句後有大括號, 則大括號裡面所有的語句都會在if表示式為真時執行;如果沒大括號,則if表示式為真時只會執行第一條語句.

例如:#include

int main()

if (false)

printf("11111111111\n"); // 只有這一條不會列印

printf("22222222222\n"); // 以下兩條都會列印

printf("22222222222\n");

return 0;}

9樓:南達中流

if語句中的幾個常見錯誤

10樓:匿名使用者

沒花括號的效果是如果條件成立,就執行if之後的第一條語句,相當於花括號打在if之後的第一條語句

11樓:來自屏巖洞簡簡單單的鳳頭鷹

花括號吧?可以執行花括號裡面的語句,沒有就只執行一條

c語言問題,求解為什麼for後面有無花括號,導致結果不一樣呢,不是說for後面可以加花括號也可以不加花括號

12樓:匿名使用者

你理解錯了。。。不加括號是在for的執行語句只有一句是才可以。你的執行語句有兩句,所以你不加括號的話,它就預設為一句了。。

也就是說如果不加括號for語句就只有 p = p*i;在迴圈了。。。

13樓:匿名使用者

請問是誰跟你

復說的for後面可以加制花括號也可bai以不加?這個是錯誤的,花括號du是將多條語句合zhi併成一條語dao句,而for只執行後面一條語句,如果要使for後面執行多條語句就要用花括號講這幾條語句括起來,希望可以幫到樓主

14樓:匿名使用者

什麼時候加抄什麼時候不加,,

襲,,你自己

bai寫一下親身感受一下就曉得了。

du。在一個迴圈zhi體或判斷裡面,超過一個dao語句就必須加{}。。。如for(i=0;i<2;i++)和for(i=0;i<2;i++)printf("%d ",i);printf("%d\n",i+1);執行出來的結果是不一樣的,,加了{}表明{}裡面的內容屬於當前迴圈體,不加的話就不是。。。

例子中第一for執行的結果就是0 1 換行1 2換行、、、、而第二個就只是0 1 3換行

希望你能理解,,,記得采納

15樓:匿名使用者

嗯 ,當for後只有一條語句時是一樣的。當有兩條以上時,他只執行第一條。

c語言為什麼會輸出負數,c語言問題,為什麼會輸出負數

daan 是double 型別 你應該把 d 改成 lf c語言問題,為什麼會輸出負數 在你的switch語句最後都加一個default 看一下switch d switch u 如果出現error這行,說明你的fflush 沒有起作用,改正方法是在scanf 函式後,加一個getchar 如果沒有...

一個簡單的C語言問題,一個簡單c語言小問題?

不知道您說的 a a 出錯了,是什麼現象?您的這種程式,據我所知,在不同的系統中,可能會有不同的現象。您的意圖,似乎是想用 a a 來將字串中的字元d換成字元a,這種操作,在有些系統中是允許的,但有些系統中卻不可以執行。原因是 您這裡沒有給字串 d 在變數區中安排空間,而是直接按 字串常量 的形式寫...

C語言問題為啥會出錯,c語言執行出錯什麼原因

printf d z printf d z 這樣 c語言執行出錯什麼原因 for i 0,sum 0 i 10 i,sum i 另外main 打錯了 編譯沒有錯是因為你寫的mian函式的語句符合c規範,而連結有錯誤是因為c必須有一個入口函式或叫主函式main 而你這裡卻沒有。編譯沒出錯表明的是語法是...