1樓:匿名使用者
分號標誌一個語句的結束,對於for()而言,迴圈體還在{}裡邊,如果加了分號,迴圈體就不再會執行,這顯然不是所要的。
2樓:匿名使用者
大多數時候不加
for後面跟的是迴圈體。
如果不需要有迴圈體,也就是for括號裡版
面的三句就可以完成所權有功能
那麼就加個分號,表示迴圈體為空。
比如 求字串s的長度
for(len=0;s[len]; len++);
這個, 單獨for裡面的三句就完成了所有功能, 不需要迴圈體, 加分號。
3樓:六十七年
這個問題很容bai易理解du
1for(...)
這樣寫會把{}內的zhi**放在for迴圈中dao執行回2for(...);
這樣些答for語句會單獨執行for()中的語句,另外會把{}內的**當成一個**塊來執行
其實就相當於
for(...)
a;b;
在c語言中,for語句的後面加分號和不加分號有何不同?
4樓:種完太陽吃牛大
for迴圈後面加分號,表示這個迴圈是空語句,除了執行for()括號裡的,什麼都不幹。然後就執行下一行,也就是你的prinf,printf和for迴圈沒關係。
如果不加分號,那for迴圈後面的printf語句就是for迴圈的一部分,跟著for一起執行,但前提是for迴圈裡的條件要滿足。執行到第二個for時a已經等於3了,你要b=a,那b怎麼可能小於3 。所以後面的for迴圈不滿足條件,不執行,同時for裡面的**也不執行。
使用for語句應該注意:
1) for迴圈中的「表示式1(迴圈變數賦初值)」、「表示式2(迴圈條件)」和「表示式3(迴圈變數增量)」都是選擇項,即可以預設,但分號(;)不能預設。
2) 省略了「表示式1(迴圈變數賦初值)」,表示不對迴圈控制變數賦初值。
3) 省略了「表示式2(迴圈條件)」,則不做其它處理時便成為死迴圈。
例如:for( i=1; ; i++ ) sum=sum+i;
c語言for括號後加分號什麼意思
5樓:天雲一號
for語句後加分號就是表示執行for中的語句,不執行其他,也就是不帶迴圈內體語句
int i, j=0;
for(i=0; i<5; i++) // 帶迴圈體的for迴圈括起來的就是循
容環體語句
j++;
}for(i=10; i>0; i--); // 不帶迴圈體的for迴圈
// 執行過程如下如下(也就是for後帶分號的意思)// 當i=10時,i>0成立,則i=i-1=9;之後當i=9時,i>0成立,則i=i-1=8,一直執行下去,當i<=0時跳出for迴圈
6樓:匿名使用者
正常的應該是這個
抄樣子的
for(i=0;i<10;i++)
叫迴圈體!
如果是這樣:for(i=0;i<10;i++) ;表示什麼都不做。跳出後,i的值為10。
如果沒有分號就不完整!
7樓:匿名使用者
for(i=0;i<10;i++);是完整的for迴圈,包括迴圈體,迴圈體是空語句,do nothing
for(i=0;i<10;i++)是不完整的for迴圈,沒有迴圈體
8樓:匿名使用者
for(i=0;i<10;i++);表示沒有迴圈體,空轉
for(i=0;i<10;i++) 後面接的是迴圈體,如果i<10那麼就執行此句後面的迴圈體
9樓:
for(i=0;i<10;i++);是完整的for迴圈,迴圈體是空語句,do nothing
for(i=0;i<10;i++)是不完整的for迴圈,沒有迴圈體
10樓:我欲弒神
表示這裡直接迴圈!起到延時的作用!
11樓:江小右
; 就是一個語句,不過是空語句而已
c語言中if,for後加不加分號都可以麼?
12樓:
if語句不bai能加,如
if(a>0)
pritf("%d", a);
else
pritf("%d", 0);
a>0時就能把dua列印出來,a不大zhi於0就列印出0,但要是加上了dao
if(a>0);
pritf("%d", a);
else
pritf("%d", 0);
這樣是編譯不過去的,回編譯過程
答中還會有個「warning c4390: 「;」 : 找到空的受控語句;這是有意的嗎?」
「error c2181: 沒有匹配 if 的非法 else 」
for語句一般也不會加,一個空的迴圈是沒有意思的。
但是也有一些特殊的情況,比如:
while(*s++ = *t++);
這句話就是一個字串的複製,當然,真正寫程式的時候是很少用這種語法的。
13樓:匿名使用者
您好,一般情況是bai這樣du
的if(a==1)
...;
或者if(a==1)
如果if後面確定不需要執行什zhi麼dao**,也可以寫成if(a==1);
其中;表示空語句內。
for的用法也是容一樣的,這些基礎的東西,時間長了,堅持學習,都會知道的。
14樓:下次
if語句要加。
for如果後面加了分號 就表示迴圈到這個for語句就結束了例如:for(i=1;i<=5;i++)
printf("hello!\n");
如果上面的專for加了分號屬 下面的輸出語句就只輸出一個hello!因為for有分號 所以輸出語句並沒包含在內
而沒加分號 for語句的i每加一次 輸出語句就要輸出一次
15樓:來世永生
if和for都可以加分號。只是加了後意義就不同了。if和for加了分號後,就是一空語句,沒有什麼實質的作用。
16樓:匿名使用者
for 後加的話,表明迴圈體是一個空語句。補充樓上。
17樓:匿名使用者
這個看書都會的,,
看不懂??
if,for的括號後面都不要加分號的
18樓:索多瑪海盜
if()
else
語句;for()
19樓:匿名使用者
一般規範來說都不加的
C語言中For語句後面的括號裡有兩個分號是什麼意思啊
沒什麼特別的意思,就是for迴圈沒有迴圈條件。這樣做法要看實際的需要,你這個題目是因為條件寫到迴圈體內了,當for迴圈結束的時候,i的值正好是需要的值,如果把條件寫在for裡面,那跳出迴圈的時候i的值可能需要減1 表示這個迴圈沒有初始化,沒有條件判斷,沒有標誌變數的變化 它是一個死迴圈 這樣的迴圈其...
在C語言中,if語句後面的else語句中能不能巢狀for的循
在c語言中,baiif.else分支語句du與for迴圈語句和其他迴圈及分zhi支都是可以dao巢狀使用的,也內就是說在if語句後面和容else語句後面都是可以使用for迴圈語句的,例如 給定一個整數n,判斷這個整數n是不是小於2,如果小於2則提示給定數值不在有效範圍內,否則計算從1到n的累加和。i...
關於for迴圈語句後的分號問題,在C語言中,for語句的後面加分號和不加分號有何不同,該分號有什麼作用?
for 表示式1 表示式2 表示式3 語句 執行過程如下 1 先求解表示式1。2 求解表示式2,若其值為真,則執行for語句中指定的內嵌語句,然後執行下面第3 步 若其值為假,則結束迴圈,轉到第5 步。3 求解表示式3。4 轉回上面第2 步繼續執行。5 迴圈結束,執行for語句下面的一個語句。有分號...