数一数给了几个开关、几个文件

👁️ 0 人浏览 💬 0 人评论 ❤️ 添加收藏

(本条路线统一用 gcc -std=c11 -O0 -Wall 编译)⚠️ 判题机跑程序时不带参数,所以这一节的参数都是**在 main 里造出来**,再交给 run() 的——真实工具也该这么分,才好测。

#include <stdio.h>

/* 真实工具的入口都写成这样,好处是:参数可以在测试里造出来 */
static int run(int argc, char **argv) {
    int flags = 0, files = 0;
    for (int i = 1; i < argc; i++) {
        if (argv[i][0] == '-') flags++;
        else files++;
    }
    printf("%d/%d/%d\n", argc, flags, files);
    return 0;
}

int main(void) {
    char *fake[] = {"tool", "-v", "a.txt", "-n", "b.txt", NULL};
    return run(5, fake);
}
提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论