c语言,假设有语句int a[10]={1,2,3},*p;p=a;则p++完全等价于a++。这句话为什么是错的?

如题所述

如题所讲,a代表的是数组的首地址,它的值是不可以更改的,a只能表示数组首地址。所以a++本身就是不允许的。
p是一个指针,可以把数组首地址赋值给指针,指针的值是可以改变的,所以p++是没问题的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-11-12
,假设有语句int a[10]={1,2,3},*p;p=a;则p++完全等价于a++。这句话是错的,是因为a是一个地址,表示a[0]的地址。所以a++是不可以执行的。
而p是一个指针变量,先p=a;然后再p++是完全没有问题的。本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网