这个东西困扰了我几天,关于优先级问题确实是个恼人的东西,为了这个专门翻了C语言课本,得知
所有一目运算符都是第二级优先级
结合性是从右到左
那么*string++应该就是*(string++),也就是先++,再*取值。但是让我想不通的是先++后,指针指向了下一地址,那么当前地址不久落开了吗?
后来再看C语言a++与++a时才突然顿悟:
*string++是取出当前字符后将指针后移,因为
a++:在使用a之后使a自加
++a:在使用a之前使a自加
看来自己的C语言还有很多待加强,看似简单的问题,自己曾经看过很多遍的东西,到现在却用不到具体上来了。
好的是自己不会再忘记了,但凡让我印象深刻的事情,我就很久很久不会忘。