字符一维数组做中间变量使字符串数组做交换,该如何实现呢?


#include  "stdio.h"
#include  "string.h"
void  main()
{
        char  s[5][20]={"ccc","bbb","aaa","fff","ddd"},t[20];
        int  i,j,bz;
        for(i=0;i<=3;i++)
        {
                bz=0;
                for(j=0;j<=3-i;j++)
                /****************/
                    if (stcmp(s[j], s[j + 1]) > 0) {

                    }
                /****************/
                if(bz==0)  break;
        }
        for(i=0;i<=4;i++)
                printf("%s\n",s[i]);
}

两行星号间做交换

#include  "stdio.h"
#include  "string.h"
void  main()
{
        char  s[5][20]={"ccc","bbb","aaa","fff","ddd"},t[20];
        int  i,j,bz;
        for(i=0;i<=3;i++)
        {
                bz=0;
                for(j=0;j<=3-i;j++)
                /****************/
                    if (strcmp(s[j], s[j + 1]) > 0) {
                         strcpy(t, s[j]);
                         strcpy(s[j], s[j+1]);
                         strcpy(s[j+1], t);
                    }
                /****************/
                if(bz==0)  break;
        }
        for(i=0;i<=4;i++)
                printf("%s\n",s[i]);
}

题主,你的strcmp写错了