c语言我把一个数组赋值给另外一个数组这样做为什么错了?

#include<stdio.h>
int main()
{int b[6];
int i;
int items[6]={32,11,21,32,43,3};
b=items;
for(i=0;i<6;i++)
printf("%4d",b[i]);
}

数组相当于常量指针,不能用赋值改变的。正确做法如下:
#include<stdio.h>
int main()
{int *b;//此处改为普通指针即可
int i;
int items[6]={32,11,21,32,43,3};
b=items;
for(i=0;i<6;i++)
printf("%4d",b[i]);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-10

错误在:b=items;

原因:

int b[6]中的b是数组名不是变量,所以不能赋值

修改方法:

int i;
for(i=0; i<6;i++)
{
  b[i]=items[i];
}

第2个回答  2013-10-10
c语言不允许这样的赋值,只能一个一个赋值,用for循环
第3个回答  2013-10-10
要把数组元素一个一个赋给b对应的位置
相似回答