我不知道发生了什么,每当我在下面的代码中输入第二个字符串时,弹出一个错误框。我使用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