0

我必须使用以下签名实现主要功能:

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

什么是命令行参数,为什么我不需要测试用例?他们所说的“签名”是什么意思?它只是函数原型吗?

一旦我澄清了这些事情,我肯定会编辑这个问题以包括我对解决方案的尝试。

我对这个程序本质上做了什么感到困惑,我可以看到它返回一个整数值,但是这个整数值代表什么?另外,我将如何使用参数列表中指定的参数返回一个整数值?他们的意思是什么?谢谢您的帮助!

4

1 回答 1

1

虽然这是一个非常糟糕的问题,但我觉得有义务帮助您缓解困惑。

这是一个打印出它的名字 ( argv[0]) 的程序,并且至少需要一个参数。如果没有给出至少一个参数,则返回 1 表示失败。否则,它会打印出它的参数并返回 0 以指示成功(对 shell 或启动它的人)。

#include <stdio.h>

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

    printf("Hello World, my name is \"%s\" \n", argv[0]);

    if (argc < 2) {
        printf("I require at least 1 argument! Exiting!\n");
        return 1;  // Indicate failure.
    }


    printf("I was given %d command-line arguments:\n", argc-1);
    for (i=1; i<argc; i++) {
        printf("  [%d] %s\n", i, argv[i]);
    }

    return 0;    // Indicate success
} 

编译并运行该程序,事情应该会变得更加清晰。

于 2013-05-16T06:49:58.040 回答