在许多c++ IDE和编译器中,当它为你生成main函数时,它看起来像这样:

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

当我在没有IDE的情况下编写c++代码时,只是使用命令行编译器,我键入:

int main()

没有任何参数。这意味着什么?它对我的程序至关重要吗?


当前回答

当使用int和char**时,第一个参数将是调用程序的命令数量,第二个参数是所有这些命令

其他回答

Argc是从命令行传入程序的参数数,argv是参数数组。

你可以循环遍历参数,知道它们的数量,像这样:

for(int i = 0; i < argc; i++)
{
    // argv[i] is the argument at index i
}

main函数可以有两个形参,argc和argv。Argc是一个整数(int)形参,它是传递给程序的参数数。

程序名总是第一个参数,所以一个程序至少有一个参数,argc的最小值为1。但如果程序本身有两个参数,argc的值将是3。

参数argv指向一个字符串数组,称为参数向量。它是一个一维的函数参数字符串数组。

以防你从中学到什么

#include<iostream>
using namespace std;
int main(int argc, char** argv) {
   cout << "This program has " << argc << " arguments:" << endl;
   for (int i = 0; i < argc; ++i) {
      cout << argv[i] << endl;
   }
   return 0;
}

这个程序有3个参数。然后输出是这样的。

C:\Users\user\Desktop\hello.exe
hello
people

这两个

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

是C或c++程序入口点的合法定义。Stroustrup: c++风格和技术常见问题解答详细介绍了一些主要函数可能或合法的变化。

当使用int和char**时,第一个参数将是调用程序的命令数量,第二个参数是所有这些命令