Linux c 指针问题

char ch = ‘a‘;

char *cp = &ch;

= ++*cp++;

第三句怎么解释?



= ++*cp++;

应该作为左值非法(处于等号左边),作为右值(即放等号右边),该怎么解释???



我已经看出来了,执行结果是这样:
=++(*(cp++));
系统由于后缀,先产生一个cp的拷贝,然后cp原值间接访问内容,然后将内容加1。
结果是a 变为了b

本文出自 “边喝茶边看” 博客,请务必保留此出处http://yale1234.blog.51cto.com/2223964/1575446

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。