【发布时间】:2021-01-27 14:35:29
【问题描述】:
我的主函数需要从用户那里收集数组大小并用字符串填充它,然后发送给函数 - 我的主函数在收到单个字符串后似乎崩溃了 - 我相信错误是由于临时字符串造成的 - 当它确实有效时我没有得到任何迹象表明数组实际上进入了函数并且输出与输入相同 - 我不知道为什么。
int main() {
int n = 0, rule = 0;
char* temporary_string="";
printNumStringsInputMessage();
scanf("%d", &n);
printStringsInputMessage(n);
char** arr_of_strings= malloc(n * sizeof(char*));
for (int l = 0; l < n; l++)
{
scanf("%s", temporary_string);
arr_of_strings[l] = malloc((strlen(temporary_string) * sizeof(char)));
strcpy(arr_of_strings[l], temporary_string);
strcpy(temporary_string,"");
}
printRuleOfComparisonInputMessage();
scanf("%d", &rule);
return (0);
}
【问题讨论】:
-
在对代码进行一些修改后,它确实有效,尽管它确实发送警告
-
是的,我认为确实如此,尽管这是理论上的,我不确定我是否能够在没有特别注意的情况下纠正我的程序