为什么i值为14 不是13呢?
我的运算过程是 i初值为0,指针p指向i 并执行(p)++ i变为1 执行 ++(q);后j值为11 最后执行 i=*p+(++ *q)即i=1+12后 i值得13
不知道哪一步出错了
最后一行++*p不是让它从13加到14了吗
int main()
{
int i=0,j=10,*p,*q;
p=&i;q=&j;
printf("%d %d\n",*p,*q);
(*p)++;++(*q);
printf("%d %d\n",*p,*q);
i=*p+(++*q);
printf("%d %d\n",*p,*q);
j=++*p+*q;
printf("%d %d\n",*p,*q);
printf("%d %d\n",i,j);
}
0 10
1 11
13 12
14 26
14 26
14和26是你电脑实际运算结果吗?
14和26是自相矛盾的吧,如果i是14,那么j就不会是26
i是13时,j才是26