前置++基本没有问题,但是后置++与指针结合,有点不太明白,该怎么理解呢?嗯,刚开始学习时对这个不太理解是正常的

首先我们来看一下*p++,有的同学可能理解为(*p)++,而有的同学理解为*(p++)。第一个是对*p的值进行自增,第二个是对指针自增,然后取值

那么到底是哪个呢?这个要从优先级说起,后置++优先级高于*,但后置++先返回值(先参与运算)。指针p与*结合之后,指针p才完成自增,因此结果应该是相当于*(p++)

嗯,大概明白了,那我要对值进行加加,是不是(*p)++就可以了对的,对于(*p)++括号优先级是最高的,因此先对指针p取值,然后对*p整体进行自增,变化的是*p的值,指针p并没有改变.

好的呢,那我自己去测试下好的,编程最重要的就是实战~加油
先别走,看下下面的例子吧
*p++、*(p++)自增运算和指针结合,怎么理解呢?_java
很容易就可以看出来,他的运行规则对吧!

我还在呢,^_^!是的*p++之后,首先输出了*p的值,然后p进行了自增,所以在下面输出的时候,*p变成了2嗯,要得,剩下的就交给你自己了!溜了

不用客气,记得关注一下
微信公众号:C语言Plus