为什么控件进入“其他”部分?

时间:2012-08-14 07:28:36

标签: c

int a = 8;

if (a==8)
    printf("x");
else 
    printf("y");

虽然a等于8,但它会输出y

1 个答案:

答案 0 :(得分:5)

上面的代码始终打印x。如果您的代码打印了其他内容,那么您在问题中省略了重要信息。

要了解可能是什么,请尝试以下方法:

  1. #undef a之前插入int a = 8;,以确保没有与代码混淆的C预处理器宏。

  2. 交换条件以查看a是否真的符合您的期望:

    if( 8 == a )
    

    这个小技巧还可以防止您发生意外分配错误(if( a = 8 )