char ch = ‘a‘;
char *cp = &ch;
= ++*cp++;
第三句怎么解释?
= ++*cp++;
应该作为左值非法(处于等号左边),作为右值(即放等号右边),该怎么解释???
我已经看出来了,执行结果是这样:
=++(*(cp++));
系统由于后缀,先产生一个cp的拷贝,然后cp原值间接访问内容,然后将内容加1。
结果是a 变为了b
时间: 2024-10-14 20:51:55
char ch = ‘a‘;
char *cp = &ch;
= ++*cp++;
第三句怎么解释?
= ++*cp++;
应该作为左值非法(处于等号左边),作为右值(即放等号右边),该怎么解释???
我已经看出来了,执行结果是这样:
=++(*(cp++));
系统由于后缀,先产生一个cp的拷贝,然后cp原值间接访问内容,然后将内容加1。
结果是a 变为了b