0
因此,我的兄弟正在製作一個程序,將字符串中的所有單詞轉換爲標籤,但由於某種原因,它總是在執行結束時出現「分段錯誤」錯誤。我試圖找到可能導致它的原因,但沒有找到。下面的代碼:爲什麼這個程序給我一個「分段錯誤」?
#include <stdio.h>
#include <string.h>
char* setHashtag(char text[10000])
{
int i, j;
printf("Initial text = %s\n", text);
for (i = 9998; i >= 0; i--)
{
text[i+1] = text[i];
}
text[0] = ' ';
for (i = 0; text[i+1] != '\0'; i++)
{
if(text[i] == ' ' && text[i+1] != ' ')
{
for (j = 9998; j > i; j--)
{
text[j+1] = text[j];
}
text[i+1] = '#';
printf("Partial text = %s\n", text);
}
}
return text;
}
void execute() {
char text[5000], textFinal[10000];
gets(text);
strcpy(textFinal, setHashtag(text));
printf("%s\n", textFinal);
}
int main()
{
execute();
printf("Back to main\n");
return 0;
}
我以爲它會將所有文本複製到一個新的數組中,謝謝解釋! –