在第六章里面,首先声明:
char ch='a';
char *cp=&ch;
然后表达式*cp++的运行步骤为3步
1: 操作符产生cp的一份拷贝
2:然后++操作符增加cp的值
3:最后,在cp的拷贝上执行间接访问操作。
看的有点不明白,按照他的说法,这个表达式的值不就等于*cp了吗,也就是如果一个赋值语句p=*cp++;那么只运行一次的结果就与p=*cp是一样的对吗?
这就是上面说的p获得的是cp最初的拷贝,然后将cp的值〔不是拷贝〕加1,最后再执行间接访问操作〔是在cp的拷贝上进行访问操作,而不是加1后cq的新值〕
请问这样理解是正确的吗?
晕,加号都没显示
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
-----------------------------------------------------------------------
你的理解是正确的。
char ch = 'a';
char *cp = &ch;
char other = *cp++;
类似于:
{
char temp = *cp;
cp++;
other = temp;
}
一周热门 更多>