关于#c语言#的问题,请各位专家解答!

#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得值都不会改变所以输出是零