C語言中if語句後面不能加分號,否則當條件為真時執行空語句是什麼意思

2021-03-31 22:34:00 字數 2954 閱讀 6266

1樓:程式猿3號

if(n>3)

i++;

這樣寫,如果條件(n>3)成立,那麼i才會自增。

if(n>3);

i++;

這樣寫,不管條件(n>3)是否成立,i都會自增,因為if語句執行了一條空語句。所以建議這樣寫:

if(n>3)

2樓:夢繫神官

if語句表示式是if()printf();這句話的意思是如果if語句為真則執行printf()如果寫完if()後直接加分好即if();則執行空語句

c語言中if語句後面不能加分號,否則當條件為真時執行空語句是什麼意思?

3樓:會飛的小兔子

意思是if語句在執行時,先

判斷括號內語句是否為真,如果為真,則執行後續程專序。當括號內為空時,語句判斷屬為非真,後續所含語句不予執行。

if語句的具體用法:

#include

int main()

printf("x=%d\n" , x);

return 0;

}擴充套件資料if…else if…else語句的具體語法格式如下:

if (判斷條件1)

else if (判斷條件2)

……else if (判斷條件n)

else

4樓:倒黴熊

比如int a,b;

a=2;b=3;

if(a這個

來if括號後面有分號,表示的自是bai 如果a,則不執行任du何語句,而是空語zhi句,分號前dao面沒有任何語句。

而if(a

5樓:匿名使用者

因為加bai分號表示一行語句

du,而你if後面加分號,程式認zhi為dao你if之後沒有語句了,專所以下一行的語句跟if沒關係屬了,直接導致不管if判斷是否成立都會執行下一行語句。

在c語言中編譯器認為一行**的條件是;號不是換行符,所以即使兩行沒加分號,編譯器也認為是一行語句。

6樓:

if( 條件表示式來)

語句段1;

這時候如果源你在 if( 條件表bai達du式zhi)後面加分號就成dao

了:if( 條件表示式);

語句1;

這樣,當條件表示式為真和不為真,都會執行語句1,且為真時,執行的是空語句,即分號前的語句,相當於:

if( 條件表示式) 空語句;

語句1;

7樓:射手

比如:if (i < 0)//這裡沒有bai分du號i=0;

上面那個

語句沒有分號,如zhi

果i<0(即所說的dao條件為真),那

版麼會執行權i=0.如果是這樣

if (i < 0);//這裡有分號

i=0;

那麼相當於

if (i < 0);

;i=0;

第一個分號之前什麼都沒有,所以就是執行空語句

8樓:匿名使用者

比如if(a>8);

寫的容易看一點就是

if(a>8)

當條件為真時要執行大括號裡面的語句

而此時分號前面沒有語句(即為空語句),所以當條件為真時執行空語句

if(1) c語言中條件什麼意思,是不是一定會執行下面語句

9樓:左手持煙

是的bai

0代表假,非0代表真

duif(0)表示zhiif後面的一

dao定不執行

if(非零值)

回表示一定執行

就是這個道答理

但是if(1)

這樣的用法比較少,因為幾乎沒有這個必要

但是在while迴圈裡面

使用while(1)進行無限迴圈的設定是經常可以看見的

10樓:匿名使用者

會,因為if(1)中的條件判斷為邏輯值為真,所以會執行下面的語句。

11樓:匿名使用者

if是判斷語句,如果條件為真,就執行後面的一條語句

12樓:

if()裡面是邏輯表示式,if(1)非0為真,故執行

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

13樓:種完太陽吃牛大

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;

看到一句話(if語句中,條件判斷表示式必須用括號括起來,在語句後必須加分號) 怎麼理解

14樓:愛你飛天夢

if的幾種形式(不包含else的):

1.if(條件) 語句;

2.if(條件)

c裡面把{}括起來的所有語句看成一條語句

C語言中if,for後加不加分號都可以麼

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 c43...

C語言賦值語句,C語言中賦值語句有什麼規則要求?

選ab中取模右邊不是整數 c中賦值號左側不是一個變數 d中第二個賦值號左側不是一個變數 c語言中通過 運算子來實現賦值,有時候也用它來進行初始化,在c語言中初始化和賦值是完全兩個不同的概念。比如下面的 int a 10 這是初始化a 0 10 這是賦值 初始化是一個順序點,編譯器保證每一個順序點都執...

C語言中的語句while scanfd dm,nEOF怎麼跳出這個while迴圈

linux系統下 需要輸入ctrl d 在windows下,也就是命令列視窗 需要輸入ctrl z在螢幕上出現 z後,再按回車即可。設計上是輸入兩次回車就退出 其實程式設計時,可以改為按某個鍵,退出迴圈的。ctrl z 再按一到兩次回車 vs要連續輸入三次 enter才行 關於c語言求精確解釋這個迴...