首页 > 用户发贴区 > 编程问题提问区 > 不明白的问题,相当的难理解
2007
06-12

不明白的问题,相当的难理解

#include<stdio.h>


main()


{int a=0,b=0,c=0,x=35;


if(!a)x–;


else if(b);if(c)x=3;


else x=4;}


程序中的else if(b)后面有;时运行后得出的结果为x=4。而去掉次符号;后的运行结果后为x=34,这是为什么呢。希望各位指点指点,谢谢了。


不明白的问题,相当的难理解》有 5 条评论

  1. 5iluo 说:

    没有;时,,你要知道 if都是和它最近的else对应,,所以相当于

    void main()

    {int a=0,b=0,c=0,x=35;

    if(!a)
    {
    x–;
    }
    else
    if(b)
    {
    if(c) x=3;
    else
    x=4;
    }

    printf(“%d”, x);
    }

    也就是执行了 x–,,就输出了,,

  2. 湛氏固企 说:

    该程序中有;号是应该如何理解呢?

    敬请各位高人指教指教!!!!!!!

    十万火急呀!!!!!!!!!1

  3. 湛氏固企 说:

    可以理解为在else if(b)后面连着的是个空语句吗?所以写成else if(b);

  4. 5iluo 说:

    void main()

    {int a=0,b=0,c=0,x=35;

    if(!a)
    {
    x–;
    }
    else
    if(b);

    if(c)

    x=3;
    }
    else
    x=4;

    printf(“%d”, x);
    }

    这也看不懂,,我没什么好讲的了

     

  5. 湛氏固企 说:

    我懂了,谢谢指教。

留下一个回复