我正在尝试做与字符串、数组和指针相关的实验表。问题是“对存储在指针数组中的 5 个字符串单词进行排序”。
我尝试了很多,并在各个站点中搜索了该问题的解决方案。我已经能够按字母顺序对字符串进行排序,但始终是字符串末尾的另一个字符串的一部分。
就像如果我输入了像笔记本电脑和comp这样的字符串,那么输出将是comptop和笔记本电脑
主要代码是:
main()
{
char *str[10], *t;
int i,j;
for(i=0;i<5;i++)
{
scanf("%s",&str[i]);
}
for(i=0; i<5; i++)
{
for(j=i+1; j<5; j++)
{
if (strcmp(&str[j-1], &str[j]) > 0)
{
t=str[j];
str[j]=str[j-1];
str[j-1]=t;
}
}
}
printf("\n");
for(i=0;i<5;i++)
{
printf("%s\n",&str[i]);
}
}