c语言*pa++,同优先级,结合方式不是自右而左吗?怎么先算*pa,在++的_百...
发布网友
发布时间:2024-04-19 19:40
我来回答
共2个回答
热心网友
时间:2024-04-20 23:26
事实上是这样的,由于是同优先级,而且结合方式自右向左,因此先算a++,再算*pa,这是第一点;
第二,在算a++的时候,可以分为两步,第一步,对a赋值,第二步将a=a+1;
第三,在算完a的赋值后,这时就对pa的原值进行*运算,即得到a的值,也就是在进行完第二中的第一步后就将进行*pa,然后再进行第二中的第二步即将pa中的值(即a)加1 ,这时pa将不再指向a 那么结果就是*pa=a0; a=a0+1;
热心网友
时间:2024-04-20 23:30
是自右向左啊
*pa++
就相当于
*(pa++)
但是 pa++是先使用pa的值,然后 pa的值再加1
所以,效果是 *pa,然后 pa=pa+1