貝塔百科網 > 教育 > C語言中if語句後面不能加分號,否則當條件為真時執行空語句是什麼意思
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裡面把{}括起來的所有語句看成一條語句
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...
選ab中取模右邊不是整數 c中賦值號左側不是一個變數 d中第二個賦值號左側不是一個變數 c語言中通過 運算子來實現賦值,有時候也用它來進行初始化,在c語言中初始化和賦值是完全兩個不同的概念。比如下面的 int a 10 這是初始化a 0 10 這是賦值 初始化是一個順序點,編譯器保證每一個順序點都執...
linux系統下 需要輸入ctrl d 在windows下,也就是命令列視窗 需要輸入ctrl z在螢幕上出現 z後,再按回車即可。設計上是輸入兩次回車就退出 其實程式設計時,可以改為按某個鍵,退出迴圈的。ctrl z 再按一到兩次回車 vs要連續輸入三次 enter才行 關於c語言求精確解釋這個迴...