同时理解main
函数的参数,即int argc, char* argv[]
我写了一段代码来理解这些参数。
#include <stdio.h>
int main(int argc,char*argv[])
{
printf("test\n");
printf("%d %c",argc,*argv[argc-1]);
return 0;
}
打印
测试
1 F
这里我不明白为什么有F作为输出。我的意思是如何执行此操作以使输出为F?
我在here和here上阅读了这些参数和主要功能。但我仍然不明白这些是如何运作的。
请解释。
编辑:如评论中所述,如果我将代码更改为
printf("%d %s",argc,argv[argc-1]);
现在我获取文件F:\ file path
的整个路径这是否意味着argv[0]
是驱动器中文件的位置?
答案 0 :(得分:1)
它没有在C标准中定义,但在Unix上,argv [0]是可执行文件的名称。那么argv [1]是第一个论点,等等。我认为大多数时候,这也适用于微软的Dos和他们的Windowing操作系统。
答案 1 :(得分:0)
简单来说: 当您向命令行提供运行程序的指令时,您可以附加一些文本,可以在程序中访问。
#include <stdio.h>
int main(int argc,char*argv[])
{
printf("This is the path or name of your programm: ");
printf("%s\n", argv[0]);
if(argc > 1) {
printf("This is the first argument you gave your programm: ");
printf("%s\n", argv[1]);
}
if(argc > 2) {
printf("This is the second argument you gave your programm: ");
printf("%s\n", argv[2]);
}
return 0;
}
尝试使用以下命令运行此示例:
<path_to_the_programm> Hallo Welt
您将看到argc是一个整数,它告诉您给程序提供了多少参数。我希望它对你有帮助。