一道指针++的问题,大家帮忙看看谢谢

来源:百度知道 编辑:UC知道 时间:2024/05/31 14:47:29
main()
{inta[5]={1,3,5,7,9};
inti=2,*p;
p=a;
printf("%d,%d",*p++,*(p+i));
}
这道题我得1,7答案是1,5
*p++等价*(p++),p加了1了。然后后面那个p+i应该等于p+3了啊。各位看看我说的哪有问题么?多谢拉~

printf("%d,%d",*p++,*(p+i));
计算顺序为,从右向左。
相当于:
printf("%d",*(p+i));
printf("%d",*p++);

除非是不符合ANSI C规范的编译器,否则的话C函数调用都是从右到左入栈

4