嗯首先我们来看一下*p++,有的同学可能理解为(*p)++,而有的同学理解为*(p++)。第一个是对*p的值进行自增,第二个是对指针自增,然后取值
那么到底是哪个呢?这个要从优先级说起,后置++优先级高于*,但后置++先返回值(先参与运算)。指针p与*结合之后,指针p才完成自增,因此结果应该是相当于*(p++)
嗯,大概明白了,那我要对值进行加加,是不是(*p)++就可以了对的,对于(*p)++括号优先级是最高的,因此先对指针p取值,然后对*p整体进行自增,变化的是*p的值,指针p并没有改变.
好的呢,那我自己去测试下好的,编程最重要的就是实战~加油
先别走,看下下面的例子吧
很容易就可以看出来,他的运行规则对吧!
我还在呢,^_^!是的*p++之后,首先输出了*p的值,然后p进行了自增,所以在下面输出的时候,*p变成了2嗯,要得,剩下的就交给你自己了!溜了
好
不用客气,记得关注一下
微信公众号:C语言Plus