无法从终端在 C 编程中传递命令行参数

Cant pass command line arguments in C programming from the terminal

我正在尝试从终端传递两个命令行参数用于倒计时程序,例如:

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

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

    int disp, count;

    if(argc < 2){
        printf("You mush enter the length of the count \n on the the command line. Try again.\n");
        exit(1);
    }

    if(argc == 3 && !strcmp(argv[2], "display")) disp = 1;
    else disp = 0;

    for(count = atoi(argv[1]); count; count--)
        if(disp) printf("%d\n", count);
    
    putchar('\a');
    printf("Done.");
    return 0;
}

在命令行中,我编译为,>$cc countdown.c 4 display

它抛出一个编译错误说:

clang: error: no such file or directory: '4'
clang: error: no such file or directory: 'display'

我什至试过输入双引号,但错误是一样的。 有关详细信息,我的 ,cc --version 是这样的:

Apple clang version 13.0.0 (clang-1300.0.29.3)
Target: arm64-apple-darwin20.6.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

您需要先编译然后 运行。它们是两个独立的步骤。

cc -o countdown countdown.c
./countdown 4 display

第一个命令将 C 代码编译成 countdown 二进制文件。假设成功,第二个命令 运行s 具有所需参数的二进制文件。