C语言改错题,题目:实现n个字符串的升序排列
#include <stdio.h>
#include <string.h>
#define ROW 5
#define COL 30
void fun(char s[][COL],int n)
{
char temp[COL];
int i,j;
for(i=0; i<n-1; i++)
/**/ for (j=i+1; j<n-1; j++) /**/ for (j=i+1; j<n; j++)
if(strcmp(s[i],s[j])>0)
{
strcpy(temp,s[i]);
strcpy(s[i],s[j]);
strcpy(s[j],temp);
}
}
void main()
{
int i;
char str[][COL]={"DEF","BAEELCS","FHIAME","CBADF","APMAE"};
/**/ fun(str,COL); /**/ fun(str,ROW);
clrscr();
for(i=0;i<ROW;i++)
printf("%s\n",str[i]);
getch();
/**/ /**/这个中间是有错的部分,右边是正确答案,而我不太理解的是/**/ for (j=i+1; j<n-1; j++) /**/ for (j=i+1; j<n; j++) 为什么不可以这样子写for (j=0; j<n-1; j++)
还有就是/**/ fun(str,COL); /**/ fun(str,ROW);COL为什么改成ROW,求会的大神详细解析下,谢谢
修裾欲溯空
修裾欲溯空
相关分类