#include
int main ()
{
int x=1,y=0;
if(!x) y++;
else if(x==0)
if(x) y+=2;
else y+=3;
printf("%d\n",y);
return 0;
}
为什么运行结果是0
不知道你要实现什么,但是!x和x==0都是false,所以所有的判断都为进入,y没有变化,最后输出0
#include <stdio.h>
int main ()
{
int x=1,y=0;
if(!x) // 此处判断为false
y++;
else if(x==0) // 此处判断依然为false
if(x)
y+=2;
else
y+=3;
printf("%d\n",y);
return 0;
}
你的第一个if和else if都判断不成立第二个if在第一个的else if里面所以也不会执行,x和y得值都不会改变所以输出是零