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