Linux c 指针问题

时间:2014-11-11 23:05:23   收藏:0   阅读:171

char ch = ‘a‘;

char *cp = &ch;

= ++*cp++;

第三句怎么解释?



= ++*cp++;

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



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

bubuko.com,布布扣

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

评论(0)
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!