char s[6]; s="abcd"; printf(""%s"\n",s);为什么会编译出错呢?错在哪儿呀?
char s[6]; s="abcd" 不能这么写
只能定义的时候直接初始化
char s[6] = "abcd";这是可以的
printf(""%s"\n",s);要改成printf("%s\n",s);
memcpy(s, "abcd", 4);
这样给字符串赋值 不能直接 =
char s[6]="abcd"
这样是正确的语法,用abcd去初始化数组
而char s[6]; s="abcd",不可以将一个char数组的指针指向一个字符串常量