C语言 为什么argv的第一个参数是1不是0 [重复]

sgtfey8w  于 2023-03-29  发布在  其他
关注(0)|答案(1)|浏览(165)

此问题在此处已有答案

Arguments to main in C [duplicate](6个答案)
What are the arguments to main() for?(5个答案)
三年前关闭了。
我有一些参数的程序工作正常。这个参数应该是,MAX_NUM,x,y。
在捕获char输入列表的参数时,我目前使用参数1而不是0获得MAX_NUM。
例如:

int main (int argc, char *argv[]) {
    int MAX_NUM = atoi(argv[0]);
    int x = atoi(argv[1]);
    int t = atoi(argv[2]);
    printf("MAX_NUM %d\n", atoi(argv[0]));
....

打印 argv[1] i正确获得MAX_NUM,打印第一个参数时获得0。
为什么C在1上初始化char输入列表数组,而不是0或程序名?

q0qdq0h2

q0qdq0h21#

简单来说,argv[0]的值是要执行的程序的名称。C kinda 为此保留了argv[0]索引。要了解C和操作系统如何开始相互工作的一些细节-请查看Stack Overflow中的这篇文章。

相关问题