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

時間 2021-10-17 05:00:00

1樓:冒曼珠鄔海

比如:if

(i<0)//這裡沒有分號

i=0;

上面那個語句沒有分號,如果i<0(即所說的條件為真),那麼會執行i=0.如果是這樣

if(i

<0);//這裡有分號

i=0;

那麼相當於

if(i

<0);;

i=0;

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

2樓:益忍尚兒

if(條件表示式)

語句段1;

這時候如果你在

if(條件表示式)後面加分號就成了:

if(條件表示式);

語句1;

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

if(條件表示式)

空語句;

語句1;

3樓:顏香菱度蘊

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

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

4樓:琴雅豔刀友

if(n>3)

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

if(n>3);

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

if(n>3)

關於for迴圈語句後的分號問題,在C語言中,for語句的後面加分號和不加分號有何不同,該分號有什麼作用?

可愛的小知道 for 表示式1 表示式2 表示式3 語句 執行過程如下 1 先求解表示式1。2 求解表示式2,若其值為真,則執行for語句中指定的內嵌語句,然後執行下面第3 步 若其值為假,則結束迴圈,轉到第5 步。3 求解表示式3。4 轉回上面第2 步繼續執行。5 迴圈結束,執行for語句下面的一...

c語言中語句和指令有什麼區別,C語言中“語句”和“指令”有什麼區別?

a羅網天下 區別一 構成不一樣 1 c程式的執行部分是由語句組成的。程式的功能也是由執行語句實現的。2 指令可以使編譯器按不同的條件編譯不同的程式部分,因而產生不同的目標 檔案。這對於程式的移植和除錯是很有用的,尤其是針對於跨平臺程式移植的時候。區別二 實現功能不一樣 1 c程式語言可以實現多種程式...

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

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