c语言数组中引用时可以用自增符号吗

如题所述

数组不可以++
指针变量可以实现本身的值的改变。如char *p="abc"; p++是合法的;
而数组char arr[] = "abc"; arr++是错误的。因为arr是数组名,
它是数组的首地址,是常量,而指针时变量。 但是可以a[0]++;
自增运算符的操作对象要求是可修改的左值,但是数组名不是可修改的左值追问

追问
那这样的呢b[a++]=' '呢
有一道改错题说这是错的
应该改为b[a]='; ',a++

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-09-19
如 int a[5]={1,2,3,4,5}
取数组中的值除了a[0],a[1],...a[5]
还有a a+1 a+2,因为数组名a代表数组的首地址,a代表第一个元素,a+1代表第二个元素,但不能这样表示a++, 因为a++等价于a=a+1;是不能这样表示的追问

那这样的呢b[a++]=' '呢
有一道改错题说这是错的
应该改为b[a]=' ',a++

追答

首先a是一个变量,而不是一个数组的首地址,b[a++]就好比b[a=a+1],数组的下标,定义时必须要求是常量,引用时可以是变量,绝对不能是表达式

追问

谢啦

相关了解……

你可能感兴趣的内容

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