首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

字符数组使用++操作报错咋回事

2012-06-07 
字符数组使用++操作报错怎么回事?C/C++ code#includestdio.hint main(void){char a[5]hellochar *b

字符数组使用++操作报错怎么回事?

C/C++ code
#include<stdio.h>int main(void){    char a[5]="hello";    char *b=a;    while(*b!='\0')    {        printf("%c",*b);        b++;    }    while(*a!='\0')    {        printf("%c",*a);        a++; //此行代码报错:自增操作数必须是左值    }    printf("\n");    return 0;}


gcc 版本 4.6.3
错误信息:错误: 自增操作数必须是左值

这是怎么回事?字符数组不能这样自增?那不知道长度时不借助sizeof,怎么遍历?

[解决办法]
这是数组名,不是左值,不能自增。。

想遍历,就一定要只知道元素个数,或者放置特殊的数据标识
[解决办法]
因为数组指针是const,不能进行自增运算,至于报的错误就看不明白了,可能跟编译有关吧
 

[/code]

热点排行