将字符串赋值给字符数组我对以下情况感到有点惊讶。例1:char s[100] = "abcd"; // declare and initialize - WORKS例2:char s[100]; // declares = "hello"; // initalize - DOESN'T WORK ('lvalue required' error)我想知道为什么第二种方法行不通。这似乎是很自然的,它应该(它与其他数据类型一起工作)?有人能解释一下背后的逻辑吗?
3 回答
宝慕林4294392
TA贡献2021条经验 获得超8个赞
char s[100] = "abcd";
int s[3] = { 1, 2, 3 };
s
s = "abcd"
abcd
s
s
s
char*
strcpy
.
蝴蝶刀刀
TA贡献1801条经验 获得超8个赞
char
\0
const char x[] = {'h','e','l','l','o','\0'};
char s[100];strncpy(s, "hello", 100);
#define STRMAX 100char s[STRMAX];size_t len;len = strncpy(s, "hello", STRMAX);
撒科打诨
TA贡献1934条经验 获得超2个赞
1 char s[100];2 s = "hello";
- 3 回答
- 0 关注
- 663 浏览
添加回答
举报
0/150
提交
取消