请教一个 指针 问题!
[code=C/C++][/code]
#include<stdio.h>
void main()
{
int a=2,*p=&a,*q=&a;
printf("%d %d",*p++,*(q++));//为什么输出的是2,2
p=&a;q=&a;
printf("%d %d",*p,(*q)++);//为什么这里是3,2,求解释,谢谢!
}
[解决办法]
第二个输出 是从右往左走。先计算了2,加加操作之后成3
*p++,*(q++)是没有区别的,都是先指向,再求加
[解决办法]
我在vc6.0上运行出来的结果都是2 啊,难道编译器有区别?