C语言 简单题 马上解决...

来源:百度知道 编辑:UC知道 时间:2024/06/30 08:21:24
a=b=c=0;x=35;
if(!a) x--;
else if(b);
if(c) x=3;
else x=4;
结果是?
谢了
else if(b);

这里有分号对吗?
去掉可以吗?
else if(b);
是什么意思?这条语句没问题吗?

结果是x=4

a=0,
if(!a)中,!a为真,执行x--,x=34

if(c),由于c=0,if(c)不成立,执行else分支,x=4

============================================
问题补充:else if(b);

这里有分号对吗?
去掉可以吗?
else if(b);
是什么意思?这条语句没问题吗?

不好意思,看漏了:(
这里的确不应该有分号,
的确应该去掉。

结果是:a=0 b=0 c=0 x=4

答案是34.你写的有问题,
int a=0,b=0,c=0; c语言中不可以连续赋值。
int x=35;
if(!a)
x--; if(!a)中,!a为真,执行x--,x=34

else if(b) a=b=c=0 所以其他的都不成立了
x=3;

else if (c) x=4; 注意IF 循环的用法。
printf("%d\n",x);

当a=0时,执行x--;x=34
if(c)因为c=0条件不成立,所以执行分支语句else,x=4.另外if(b)后面是没有分号的。