【发布时间】:2017-08-08 11:07:02
【问题描述】:
char a[]="abcd";
a[]="zxc";
printf("%s",a);
它给了我一个错误说“错误:']'标记之前的预期表达式”。那我该如何改变我的字符数组的值呢?
【问题讨论】:
-
你不能分配给一个数组,这是C语言的一个限制。你可以使用例如
strcpy()来写入一个(char)数组。 -
a = "zxc";但您只是更改了a指向的指针,而不是数组本身,因为它是一个常量字符数组。 -
@AndreKampling 无论您尝试哪种语法,您仍然无法分配给数组...
-
@FelixPalmen:谢谢。他必须使用
const char* a = "abcd";。但正如其他人所说,例如使用strcpy。 -
@Andre Kampling - 你不能改变它,因为
a不是可以改变的指针,因为它在存储中没有表示 - 只有表中的数据有。