【发布时间】:2016-02-04 22:35:29
【问题描述】:
我将 2 个字符数组作为参数并尝试交换它们。这是我到目前为止所拥有的,但我收到错误“数组初始化程序必须是初始化程序列表”。有人可以解释为什么会发生这种情况以及如何解决吗?
到目前为止,这是我的函数代码:
void swapStrings(char string1[], char string2[])
{
char tempString[] = string1;
}
【问题讨论】:
-
你希望这行代码做什么?您是否希望它在堆栈上分配一个对象?你期望那个物体有多大?你期待
string1的内容被复制进来吗?您是否期望以“字符串”开头的名称命名这些东西,编译器会知道它们是字符串,并以这种方式处理它们,而不仅仅是字符数组? -
你需要为
tempString分配内存,然后使用strcpy()之类的东西将string1复制到tempString -
请注意,您的函数参数实际上是指针。 C 语法就是这么好笑。
标签: c