這將導致分段錯誤:的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