C语言中if语句后面不能加分号,否则当条件为真时执行空语句是什么意思?

如题所述

意思是if语句在执行时,先判断括号内语句是否为真,如果为真,则执行后续程序。当括号内为空时,语句判断为非真,后续所含语句不予执行。

if语句的具体用法:

#include<stdio.h>

int main()

{

int x = 5; //声明变量x

if (x < 10) //如果x的值小于10则执行if大括号中的代码

{

x++;

}

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

return 0;

}

扩展资料

if…else if…else语句的具体语法格式如下:

if (判断条件1)

{

执行语句1

}

else if (判断条件2)

{

执行语句2

}

……

else if (判断条件n)

{

执行语句n

}

else

{

执行语句n+1

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-22
比如
int a,b;
a=2;b=3;
if(a<b) ; ///这个if括号后面有分号,表示的是 如果a<b成立,则不执行任何语句,而是空语句,分号前面没有任何语句。


if(a<b ) a=b; ///这种就不是了,这种如果a<b成立,则执行a=b本回答被提问者采纳
第2个回答  2014-04-16
if( 条件表达式)
语句段1;

这时候如果你在 if( 条件表达式)后面加分号就成了:
if( 条件表达式);
语句1;

这样,当条件表达式为真和不为真,都会执行语句1,且为真时,执行的是空语句,即分号前的语句,相当于:

if( 条件表达式) 空语句;
语句1;
第3个回答  2014-04-16
比如:
if (i < 0)//这里没有分号
i=0;

上面那个语句没有分号,如果i<0(即所说的条件为真),那么会执行i=0.如果是这样
if (i < 0);//这里有分号
i=0;
那么相当于
if (i < 0);
;
i=0;
第一个分号之前什么都没有,所以就是执行空语句
第4个回答  2014-04-16
比如
if(a>8);
写的容易看一点就是
if(a>8)
{ ; }
当条件为真时要执行大括号里面的语句
而此时分号前面没有语句(即为空语句),所以当条件为真时执行空语句