cannontim
IT小白can
2017-08-31 14:43

字符串排序问题,小白蒙蔽中。。

5
  • strlen
  • strcpy

将三个给定的字符串依据长度从小到大显示出来,结果却只是第一行和第三行调换了位置,求大佬看看代码问题出在哪里。。
#include
#include
int main(void)
{
int i, j;
int n = 3;
char abb[3][20] =
{
"333",
"22",
"1"
};
char temp[20];

for (i = 0; i < n; i++)
{
    for (j = i + 1; j < n; j++)
    {
        if (strlen(abb[i]) - strlen(abb[j])>0)
        {
            strcpy(temp, abb[i]);
            strcpy(abb[i],abb[j]);
            strcpy(abb[j], temp);
        }
    }
}
for (i = 0; i < n; i++)
{
    puts(abb[i]);
    printf("%d\n", strlen(abb[i]));

}

getchar();
return 0;

}

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

6条回答