OnlyDream 发表于 2013-11-20 00:27:27

else if问题

main()
{
        int a = 0;
          scanf("%d",&a);

        if(a == 5)
        {
                printf("a = %d \n",a);
        }else if(a++ == 6)
        {
                printf("a = %d \n",a);
        }else if(a++ == 7)   //如果等于7,不执行printf操作
        {
                printf("a = %d \n",a);
        }else if(a++ == 8)   //如果等于8,不执行printf操作
        {
                printf("a = %d \n",a);
        }

      printf("a == %d",a);

}


苹果沃珂 发表于 2013-11-20 09:25:51

这是一个关于++与--的问题:
a++ == 6 相当于以下三个语句:
int tmp = a;
a ++;
tmp == 6;
// 概括起来就是 a++ 先赋值(给临时变量(系统默认/我们定义都行))后(a)自加
// 因此判断==时,用的是++前的a值
页: [1]
查看完整版本: else if问题