二级C指针问题

来源:百度知道 编辑:UC知道 时间:2024/07/14 08:30:09
为什么在VC中
int a=2;
printf("%d,%d"a,a++);
输出的是2,2而不是3,2 ?????
骑着母猪闯红灯 若如你所说 应该输出3,3而不是2,3 我看你应该多看看书,微机运算从右到左。也就是先运算a++,再运算a,不是吗,关于asanasdake的回答,如果printf("%d,%d"a++,a); 输出仍然是2,2 回答是否还如你所说

printf("%d,%d",a,a++);
相当于
printf("%d,%d",a,a);
a++;
所以输出的是2,2

printf("%d,%d",a++,a);结果不确定了,和编译器有关
就像是i=i++;一样,结果未知。

printf("%d,%d"a,a++) 这样输出的是2,2
如果是printf("%d,%d"a,++a) 输出的就是2,3 你最好还是再好好看看书,书上面写a++ , ++a它们两个是有区别的
你看看一些练习题 a++先是a,再算a=a+1 ++a先算a=a+1