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語言中賦值語句有什麼規則要求?
選ab中取模右邊不是整數 c中賦值號左側不是一個變數 d中第二個賦值號左側不是一個變數 吉祥二進位制 c語言中通過 運算子來實現賦值,有時候也用它來進行初始化,在c語言中初始化和賦值是完全兩個不同的概念。比如下面的 int a 10 這是初始化a 0 10 這是賦值 初始化是一個順序點,編譯器保證每...
c語言break語句
會的 還會比較下去 因為你跳出的迴圈只是for i 2 i 意思就是 僅僅跳出了if x i 0 break 這句話然而下邊的程式還是會執行的 for i 2 i x 如果if x i 0 break成立的話。就會返回for x 100 x 999 x 不會繼續往下執行了。執行後得出的全部是素數 只...
c語言中語句和指令有什麼區別,C語言中“語句”和“指令”有什麼區別?
a羅網天下 區別一 構成不一樣 1 c程式的執行部分是由語句組成的。程式的功能也是由執行語句實現的。2 指令可以使編譯器按不同的條件編譯不同的程式部分,因而產生不同的目標 檔案。這對於程式的移植和除錯是很有用的,尤其是針對於跨平臺程式移植的時候。區別二 實現功能不一樣 1 c程式語言可以實現多種程式...