在下面的代码中:
void main()
{
char a[]={1,5,3,4,5,6};
printf("%d\n",*(a++)); //line gives error: wrong type argument to increment
printf("%d\n",*(a+1));
}
第 4 行和第 5 行有什么区别?第 5 行没有收到任何错误或警告。
a
是一个数组对象而不是指针,因此您无法使用该操作a++
对于数组对象。因为这相当于:
a = a+ 1;
这里你给数组对象赋了一个新值,这在 C 中是不允许的。
a + 1
返回指向元素 1 的指针a
数组并且它是允许的
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)