c語言for後面大括號的區別,c語言 for語句與for語句之間 加大括號 為什麼會有區別

時間 2021-09-05 17:52:43

1樓:sk薯片

我們在編寫c語言程式時需要頻繁用到迴圈,而for迴圈後面的大括號,有時有,有時沒有。

比如:for(int i=0;i<10;i++)for(int i=0;i<10;i++)printf("%d",i);

而for是否需要加大括號跟for迴圈的作用域有關。

若不加大括號,它只包含下面一條語句,若加括號後則包含括號內所有語句。

即如果迴圈只有一句話,可以不加大括號,多句話迴圈就需要擴上括號,另外一點,便是編譯器的區別,不同的編譯器和編譯環境會影響到編譯語言的語法,編譯方法也會有不同的規範。

2樓:幸運的

一條語句不加,多條語句就加上,總之加了看起來舒服點,**規範

3樓:匿名使用者

c語言在定義變數時,要求把所有變數定義語句提前,這就要求你的程式寫成:

int main()

實際上,c語言的變數作用域是依賴大括號的,離開了大括號範圍,其中的區域性變數就不起作用了;int main() }之所以合法是在迴圈語句的大括號對中開設了臨時變數a,迴圈結束後即會被放棄。

4樓:匿名使用者

這個應該是變數作用域的問題吧

一般來說for,if等後面必須跟一句話的語句要是多個需要用{}括起來

你這個是一句,可以不用大括號

但是,你是在for跟的那句中定義乙個變數,int a=20;那麼程式編輯器怎麼判斷a變數的作用域問題?

其實這個和編輯器可能有關係

你這種寫法不建議,定義變數最好不要用到再定義,一次性的在main後面定義完不更好

這樣不考慮作用域問題,程式還不亂

5樓:

我沒有mac,不能測試,你看看 去掉int 無 大括號 在mac下試試,如果沒有錯誤則 表示mac下跟著語句時,要先定義變數才能賦值。

即這樣:vc+6執行通過

int main()

6樓:匿名使用者

不同的程式設計環境,對語法的要求有差別,第一種在vc++中可以

c語言 for語句與for語句之間 加大括號 為什麼會有區別

7樓:匿名使用者

樓上正解,對於你的追問,下一條語句是指下乙個「;」號出現之前的所有語句。第一for()語句包含了第二for()語句和他的執行部分,所以出現了大量的空格。第二個for()語句則只包含了乙個 printf(" "); 語句。

第乙個for()語句則讓第二個for()語句執行了3次。第三個for()語句只包含了乙個printf("*"); 語句。本來第乙個for()語句加 的原意是讓第二個for()語句、第三個for()語句和printf("/n"); 換行語句各順序執行三次的。

變成了只有第二個for()語句執行了3次。其他的都只執行了一次。說了這麼多,也不知道你聽明白了沒有。

不明白再hi我吧。

「微控制器高手團」為您解答。

8樓:google也知道

當然了啊,正常for()語句不加的話只能是對下一條語句起作用,

for()後面加上之後,對裡面的語句都有作用的。這樣就能很簡單的看出你程式加跟不加的區別了~

9樓:匿名使用者

不加,只對一條語句起作用,

加了,對大括號裡都起作用

c語言:for迴圈後面的語句有{}與沒有的區別

10樓:吉祥二進位制

在c語言中大括號, 用於定義函式體,構成復合語句(語句塊)、宣告聯合(union)及結構體變數。

在for迴圈中沒有大括號,則表示緊接for語句下面的一句為迴圈體。

for (int start=0; end!=100; ++start)

printf("start value:%d\t", start); //這一句是for迴圈的迴圈體

printf("\n"); //這一句不是迴圈體中的語句如果迴圈體中有多條語句,是需要使用大括號的。

11樓:孤星淚

這個要視情況而定。。

比如以下兩種情況

#include

main()

printf("第二種輸出方式:\n");

for(i=0;i<10;i++)

printf("%d",a[i]);

printf("\n");

return 0;

}看以上「\n」的作用就知道

括號的作用是限制作用範圍

12樓:眼大5子

雖然c語言中,假如for迴圈後面只有一條語句可以省略{}。

但是為了程式設計規範,一般建議不管for迴圈後面幾條語句,一律加上{}

13樓:

如果for迴圈裡面只有一句話的話,就可以不用{},如果for迴圈主體有很多語句,就要用{}包住這些語句。

但是有點良好的程式設計習慣,加乙個{},對**的規範,閱讀的簡便都有挺大的幫助的。最好的都加上吧。

14樓:fun賦別

因為c語言裡的語句是以;為結束標質的,所以for迴圈中如果只有一帶;語句的話就可以不加花括號,但如果是for迴圈後又有乙個迴圈的話是沒有;的,但這還是要當作一條語句看待。

15樓:匿名使用者

執行for語句時:有{}則執行{}裡的語句,沒{}時只執行for後面的一句話

16樓:飄飄渺渺夢逍遙

沒有{}for只能控制緊挨著for後面的一句,有了{}for可以控制花括號裡面的多個語句,懂了嗎?

17樓:匿名使用者

有括號是整個括號裡面的都要迴圈,沒括號只迴圈下一句語句!!明白了吧,其實只要上機操作一下就知道了

18樓:溫蒂的威爾遜

{}是把很多語句給括起來,沒有{}的話就只迴圈fr後面的那句話,有裡面的所有話

19樓:

for後面只有一條語句,有沒有{}都一樣的效果,如果for後面有多條語句有{}和沒有{}區別很大

20樓:情鐘綠茶

有{}後面可以跟多條語句,也就是for的迴圈部分,沒有{},只有for的後面的一句是迴圈

21樓:川行天下

納尼{}括號括起來相當於乙個語句所以這個區別很明顯

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

22樓:匿名使用者

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

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

23樓:匿名使用者

請問是誰跟你

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

24樓:匿名使用者

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

襲,,你自己

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換行

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

25樓:匿名使用者

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

C語言關於大括號的使用,c語言中的 大括號的使用,什麼時候需要什麼 ?

稅家連清舒 你確定if y 10 是屬於第二個for迴圈的嗎?顯然不可能是,因為第二個for迴圈中,y 9,那麼if y 10 永遠不可能成立了,寫在那裡有什麼意義?這是列印乘法口訣的吧?include intmain void printf n 翥甾天下 其實這是有一個竅門的,在迴圈for whi...

C實參括號中有大括號是什麼意思,C 如何判斷一個大括號對應的大括號

最大功能 分開來。canvas.shapes.add 這裡面的引數要填一個物件例項。下面這個就是建立物件例項了,且同時對例項裡的2個屬性rectangle userdata賦值 newbox 新增一個物件,例項化時,對部分屬性進行賦值 c 如何判斷一個大括號對應的大括號 村頭希望 工具 選項 環境 ...

c語言程式設計不是c哦,C語言和C 語言的區別是什麼?

include int main return 1 額 你這是要幹嘛?c語言和c 語言的區別是什麼? 小張 c語言與c 的區別有很多 1,全新的程式程式思維,c語言是面向過程的,而c 是物件導向的。2,c語言有標準的函式庫,它們鬆散的,只是把功能相同的函式放在乙個標頭檔案中 而c 對於大多數的函式都...