作业帮 > 数学 > 作业

*(p++)与*(++p)作用不同.若p的初值为a,则*(p++)等价a[0],*(++p)等价a[1].这句话怎么理解

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:数学作业 时间:2024/07/03 23:29:54
*(p++)与*(++p)作用不同.若p的初值为a,则*(p++)等价a[0],*(++p)等价a[1].这句话怎么理解?
*(p++)不是等于先*p=a;然后p++=a;a=a+1吗?
*(p++)与*(++p)作用不同.若p的初值为a,则*(p++)等价a[0],*(++p)等价a[1].这句话怎么理解
运算顺序不一样,*(p++)先运行*()这个运算,然后再运行p++,故*(p++)等价于a[0];
*(++p)先运行++p,然后再运行*(),故*(p++)等价于a[1];
但这两句话最后的P都加了1.
再问: int *p,a[10];p=a;但*(p++)中p加了1,不是等于啊a[1]吗?(不好意思,麻烦您了。)
再答: 运算顺序啊,*(p++)这个可以分两个语句来理解,先运行*()这个运算,此时P还是0,之后才会运算P++
再问: 运算p++后,p不就=1了吗?(不好意思啊,我初学,谢谢您的帮助)