C语言对字符数组S赋值为什么 char s[20];s="beijing";错了。那char s[20]={'b','e'};对吗

如题所述

第一,字符串的赋值应该是strcpy(s,"beijing"); (该函数包含在头文件string.h中)
第二,你可以直接在开始就初始化char s[20]="beijing";
char s[20]={'b','e'};是对的,但没必要那么麻烦
你可以百度 字符数组赋值 第一个就说的比较全
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-12
s是个指针当然不能这样赋值了, 而且字符数组也只能在声明时初始化。
后面的是对的char s[30]="abcdeg";等价于char s[30]={'a','b','c','d','e','g','\0'};
第2个回答  2012-05-12
1、初始化
char *s = {"aassjsu88j"}; // 规范
char t[] = "diannao"; // 简洁
char s[] = {'d','i','a','n','n','a','o'}; // 最麻烦

2、复制
char s[20],*t = "";
strcpy(s,t);本回答被提问者采纳
第3个回答  2012-05-12
char s[]="beijing"
char s[20]={'b','e'};正确
第4个回答  2012-05-12
字符数组只能在声明的时候拿=来给它赋值。
相似回答