c语言字符串赋值

char string[500];string[500]="abcdefg";请问这个为什么会跳出来一个警告?是什么原因,请说下好吗?char string[500]="abcdefg";这样是对的,有人说初始化和赋值2个概念,我也这么认为,这里怎么理解?

//
string[500]="abcdefg";
//是将字符串"abcdef"赋值给字符数组中string[500]这个
元素
,先不说string[500]已经越界了.
单单是string[500]只能存放一个
字符
,但你这里却要将一串字符串赋值给他.当然会
错误
.像你说的在
定义

初始化
是对的.如果定义后要进行赋值.就用string.h中的strcpy()函数,将"abcdefg"复制到字符串string中.
代码
如下:
#include
<stdio.h>
#include
<string.h>
int
main()
{
char
string[500];
//
string[500]="abcdefg";
strcpy(string,"abcdefg");
//将
字符串常量
赋值给字符数组return
0;
}
温馨提示:答案为网友推荐,仅供参考