#include<stdio.h>
void main()
{ int a,b,c,x;
a=b=c=0; x=35;
if(!a)
x--;
else if(b);
if (c)
x=3;
else
x=4;
printf (〞%d\n〞,x);
}
if后面括号里的表达式是什么意思啊?
#include<stdio.h>
void main()
{ int a,b,c,x;
a=b=c=0; x=35;//赋值
if(!a)//因为上面赋值的a=0,所以!a就是if(!(a==0)) 不就是if(a=0)
x--;//自减
else if(b) //(这句话本身是错的,应该去掉“;”)就是在b=0的条件下执行下一步
if (c)//这里是一个嵌套,是在上面b=0成立的情况下再做的,这句要求c=0
x=3;
else //如果c不等于0就做这个
x=4;
printf (〞%d\n〞,x);
}
整体分析:
第一次条件判断是成立的,所以结果是34
我发现有一个分号也可以做的。
if后面括号里的表达式可以为真,可以为假;
表达式的值等于0,表示为假;
表达式的值不等于0,表示为真;
这样想的话,条件中都是0,所以都是假,答案是4