永发信息网

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

答案:5  悬赏:20  手机版
解决时间 2021-03-31 16:46
C语言中if语句后面不能加分号,否则当条件为真时执行空语句是什么意思?
最佳答案
比如
int a,b;
a=2;b=3;
if(a

if(a
全部回答
  • 1楼网友:妄饮晩冬酒
  • 2021-03-31 02:56
因为加分号表示一行语句,而你if后面加分号,程序认为你if之后没有语句了,所以下一行的语句跟if没关系了,直接导致不管if判断是否成立都会执行下一行语句。
在c语言中编译器认为一行代码的条件是;号不是换行符,所以即使两行没加分号,编译器也认为是一行语句。
  • 2楼网友:老鼠爱大米
  • 2021-03-31 01:29
比如
if(a>8);
写的容易看一点就是
if(a>8)
{ ; }
当条件为真时要执行大括号里面的语句
而此时分号前面没有语句(即为空语句),所以当条件为真时执行空语句
  • 3楼网友:杯酒困英雄
  • 2021-03-31 00:39
if( 条件表达式)
语句段1;
这时候如果你在 if( 条件表达式)后面加分号就成了:
if( 条件表达式);
语句1;
这样,当条件表达式为真和不为真,都会执行语句1,且为真时,执行的是空语句,即分号前的语句,相当于:
if( 条件表达式) 空语句;
语句1;
  • 4楼网友:雪起风沙痕
  • 2021-03-30 23:17
比如:
if (i < 0)//这里没有分号
i=0;
上面那个语句没有分号,如果i<0(即所说的条件为真),那么会执行i=0.如果是这样
if (i < 0);//这里有分号
i=0;
那么相当于
if (i < 0);
;
i=0;
第一个分号之前什么都没有,所以就是执行空语句
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯