c語言中for後面的加分號嗎,在C語言中,for語句的後面加分號和不加分號有何不同

2021-05-23 11:44:05 字數 3401 閱讀 2968

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語句下面的一個語句。有分號...