我想你的问题不是得不到5,3的结果,而是问怎么理解吧printf("%d,%d\n,(++p)->a,(p++)->a); 这个语句之前, p 指向 &str[1] 这个printf语句这样解释:(++p)->a
语句之前先处理指针 p,再p->a(p++)->a 先p->a,语句之后再处理 指针 pprintf 是 C语言,应该是 C规则的调用规范(即__cdecl),入口参数从右边开始处理直到最左边的参数,并且调用者来平衡堆栈。(你可以去参考一下C规范,pascal规范,stdcall,FastCall这些调用规范)。所以顺序是右边的p->a,++p, 左边的p->a, printf语句,p++...
|