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 對於大多數的函式都...