这将导致分段错误:的strcat造成分段错误
char str1[60];
char**array;
array=malloc(str_nos * sizeof(char *));
array[i]=malloc(str_len * sizeof(char *));
strcat(array[i],str1);
strcat(array[i]," ");
str1
从scanf
采取了,它比60个字符短。 array[i]
来自动态字符串数组。
你对造成这个问题的原因有什么想法吗?它只发生在很大数量的scanf
s。
“array [i]”太小而无法容纳额外的数据,或者其中一个字符串是不以null结尾。 –
您应该提供更多关于如何分配数组字符串以及如何创建str1的信息。这可能是str1对于array [i]来说太大了。 – Teudimundo
你是如何分配'array [i]'的? – AnT