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

2021-06-04 11:08:31 字數 4682 閱讀 2324

1樓:匿名使用者

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

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

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

不明白再hi我吧。

“微控制器高手團”為您解答。

2樓:google也知道

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

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

3樓:匿名使用者

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

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

for迴圈語句為什麼有時後面要加大括號,有時不要加 請各位大蝦詳細說明

4樓:匿名使用者

for迴圈語句如果迴圈體內只有一條執行語句則不用加大括號,如果執行語句為多條語句則必須用大括號括起來,以表示這一部分的執行語句都在迴圈體內,迴圈條件滿足時要被執行的語句;如:

(1)for(i=0;i<5;i++)

s+=m[i];這個迴圈體內就一條執行語句 s+=m[i];故不用大括號;

(2)for(i=0;i<5;i++)

for(j=0;j<5;j++)

這個例題雙重for迴圈,第一重迴圈for(i=0;i<5;i++)後沒有大括號,因為他的迴圈體內只有一條執行語句就是內迴圈語句,它是一個複合語句:

for(j=0;j<5;j++)

而內迴圈語句後有大括號,是因為內迴圈體內包括a[i][j]=m;和

m++;和if(j<=i)

printf("%3d",a[i][j]);三條執行語句,想把他們都包括到迴圈體內就必須用大括號括起來,作為一個複合語句出現。

for語句還有空迴圈模式,就是沒有執行語句,如:

for(i=0;str[i]!='\0';i++);此句後就有分號,表示為空迴圈,沒有執行語句,它的功能就是為了得到i的值。

以上分析希望能夠幫到您。

5樓:北印枝路綢

for迴圈語句的迴圈體如果只有一個語句,則大括號可以省略;如果迴圈體由多個語句組成,就必須要使用大括號(否則將只把第一個語句作為迴圈體,而後面的語句則作為“迴圈體以外”的語句處理)。

6樓:匿名使用者

首先,出於**的書寫規範考慮,應該為所有的for語句加上大括號!

實際應用中,有的人為了簡化(其實也沒省多少時間...),在迴圈體只有一條語句的時候,省略了大括號

,例 for(int i=0;i<5 ;i++) a=a+i;

但,如果要迴圈的內容(迴圈體)超過一條語句,則必須加大括號,例:

for(int i=0;i<=5;i++)

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

7樓:匿名使用者

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

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

8樓:匿名使用者

請問是誰跟你

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

9樓:匿名使用者

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

襲,,你自己

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

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

10樓:匿名使用者

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

c語言for語句加{}和不加{}有什麼區別?

11樓:匿名使用者

你好,很高興為你答疑。

為了程式的易讀,一般是提倡加括號的,那樣for函式執行的主體清晰明瞭。

不加括號的時候,預設該for函式執行的是緊跟其後的1函式或語句。

比如:for(;;)

}這裡面外層的for不佳括號也可以的。但是如下:

for(;;)

printf("");

}這樣的話外層for不加括號主體是內層 for ,主體沒有printf函式了。是以提倡加括號。

問題解決還望採納。也歡迎**。

12樓:匿名使用者

{}其內的所有語句是

迴圈體內的語句;無{}則預設下一個";"前的語句是迴圈體內的語句。

例如:for(int i=0;i<5;i++)//每次迴圈,m和n的值都重新計算,即5次計算。

for(int i=0;i<5;i++)m+=5+i;n+=m;//每次迴圈,m的值都重新計算,即5次計算,n則是for迴圈結束後僅計算一次。

for(int i=0;i<5;i++);m+=5+i;n+=m;//每次迴圈啥都不做,m和n則是for迴圈結束後僅計算一次。

13樓:匿名使用者

如果for迴圈裡面,只有一條語句,那麼,加不加 是沒有任何區別的。 如果for 迴圈裡面有很多條語句,那麼加了{},for就執行兩個{}裡面的語句,不加,就執行下一個分號之前的語句,因為一個分號是保不住多個語句的。

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

14樓:吉祥二進位制

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

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

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

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

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

15樓:孤星淚

這個要視情況而定。。

比如以下兩種情況

#include

main()

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

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

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

printf("\n");

return 0;

}看以上“\n”的作用就知道

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

16樓:眼大5子

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

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

17樓:

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

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

18樓:fun賦別

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

19樓:匿名使用者

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

20樓:飄飄渺渺夢逍遙

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

21樓:匿名使用者

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

22樓:溫蒂的威爾遜

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

23樓:

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

24樓:情鍾綠茶

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

25樓:川行天下

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

c語言有定義語句,C語言 有定義語句char a int b float c double d

首先,在c中,資料之間的運算必須是同型別的才能進行運算。如果型別不一致,就必須先轉換成相同的型別 由低級別 高階別轉換。資料型別級別由低到高分別為 char int float double。轉換時由低級別向高階別轉換。本題中,資料型別分別為 char型 int型 float型和double型。按照...

c語言do while語句

這個是0.即s的值。你那個s k k 是不是弄錯了?應該是s k k 一般 用在條件句的。符號那個很容易看出。include stdafx.h main while k 10 printf d n s 輸出2唄 k 2 s 0 進入do while k是2 2 2 為零,k 2 0不成立 沒有 執行...

關於C語言的一道題迴圈語句,C語言迴圈語句裡的一道例題

a.for x i 因為沒有判斷語句,所以就沒有真假判斷,程式就一直迴圈下去咯。b.while 1 因為括弧裡面是1,在邏輯上說就是真,所以迴圈也會繼續。c.for i 10 i sum i 和a一樣,沒有判斷語句。答案是d就不用說了吧。a c缺少終止條件語句,當然死迴圈 b,while 1 1表示...