求解释下面代码?感觉很奇怪


#include <iostream>
using namespace std;

int main(int argc,char *argv[])
{
    int i;
    for (i = 0; i < argc; i++)
    {
        cout << i << ":" << argv[i] << endl;
        return 0;
    }



}

main里的参数int argc,char *argv[]是用来指示通过命令行而非编译器向该程序本身传递的参数。

  • argc是命令行总的参数个数
  • argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数命令行后面跟的用户输入的参数

假设你这个文件名叫test.cpp,那么命令行输入test.cpp a b c,就会输出test.cpp a b c——对应argv,此时argc为4

img