我必须使用以下签名实现主要功能:
int main(int argc, char *argv[])
什么是命令行参数,为什么我不需要测试用例?他们所说的“签名”是什么意思?它只是函数原型吗?
一旦我澄清了这些事情,我肯定会编辑这个问题以包括我对解决方案的尝试。
我对这个程序本质上做了什么感到困惑,我可以看到它返回一个整数值,但是这个整数值代表什么?另外,我将如何使用参数列表中指定的参数返回一个整数值?他们的意思是什么?谢谢您的帮助!
我必须使用以下签名实现主要功能:
int main(int argc, char *argv[])
什么是命令行参数,为什么我不需要测试用例?他们所说的“签名”是什么意思?它只是函数原型吗?
一旦我澄清了这些事情,我肯定会编辑这个问题以包括我对解决方案的尝试。
我对这个程序本质上做了什么感到困惑,我可以看到它返回一个整数值,但是这个整数值代表什么?另外,我将如何使用参数列表中指定的参数返回一个整数值?他们的意思是什么?谢谢您的帮助!
虽然这是一个非常糟糕的问题,但我觉得有义务帮助您缓解困惑。
这是一个打印出它的名字 ( 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
}
编译并运行该程序,事情应该会变得更加清晰。