我不知道發生了什麼,每當我在下面的代碼中輸入第二個字符串時,彈出一個錯誤框。我使用Codeblocks作爲編譯器。是因爲我使用指針指針嗎?字符串的氣泡排序功能導致程序崩潰
#include<stdio.h>
#include<conio.h>
void sort_string(char **) ;
void main()
{
char *name[5] ;
int x =0;
printf("Enter Names");
for(x = 0 ; x < 5 ; x++)
{ fflush(stdin);
fgets(name[x], 100, stdin);
}
sort_string(name);
for(x = 0 ; x < 5 ; x++)
{
puts(name[x]);
}
}
void sort_string(char *name[5])
{
char *temp;
int i , j ;
for (i = 4 ; i >=0; i--)
{
for (j = 0 ; j <=i; j ++ )
{
if(strcmp(name[j] > name[j+1]))
{
temp = name[j+1];
name[j+1] = name[j];
name[j] = temp;
}
}
}
}
'fflush(stdin);'是一個未定義的操作......你在哪裏分配內存來存儲你正在閱讀的這些字符串? – FatalError 2013-04-09 14:13:38
name [x]是指針,需要分配內存。 – BLUEPIXY 2013-04-09 14:15:50
能否請你在這個語句'strcmp(name [j]> name [j + 1])後面解釋你的目標,因爲這在語法上是不正確的。 – Ganesh 2013-04-09 14:19:49