C语言中a++的问题

来源:百度知道 编辑:UC知道 时间:2024/07/04 23:25:06
#include<stdio.h>
main()
{
int x=1,a=1,b=1;
switch(x)
{
case 1:a++;break;
case 2:b++;
}
printf("%d\n",a);
printf("%d",b);

}

为什么输出a=2;
a++的意思不是说先使用a,在执行a=a+1么。。。
这里好像就是最后输出a的时候第一次用到了a;那为什么输出的是2呢

语句case 1:a++;执行完后a的值不管是a++(先用后加),还是++a(先加后用),已经自增1,再去用,当然a=2.

case 1:a++;
执行完这句,已经执行了a=a+1;

a的值已经变化。

要++就要用到a 啊