小编man*_*ist的帖子

按长度对 argv 中的单词进行排序

我正在尝试使用 C 语言从命令行读取单词argv,然后根据它们的长度按降序对它们进行排序。然而,我的排序算法产生了意想不到的输出。

我使用的代码如下:

#include <stdio.h>
#include <string.h>

int main(int argc, char *argv[]) {

    for (int i = 1; i < argc - 1; i++) {
        for (int j = 1; j < argc - i - 1; j++) {
            if (strlen(argv[j]) < strlen(argv[j + 1])) {
                char temp_word[20];
                strcpy(temp_word, argv[j]);
                strcpy(argv[j], argv[j + 1]);
                strcpy(argv[j + 1], temp_word);
            }
        }
    }

    puts("\n");
    for (int i = 1; i < argc; i++) {
        printf("%s ", argv[i]);
    }

    return …
Run Code Online (Sandbox Code Playgroud)

c sorting string command-line-arguments

7
推荐指数
1
解决办法
123
查看次数

标签 统计

c ×1

command-line-arguments ×1

sorting ×1

string ×1