关于#c++#的问题,请各位专家解答!

#include
using namespace std;
int main(int i=0)
{
cout << i++ << " ," << ++i;
return 0;
}

img

img


为什么int main(int i=0)会得到2、3

因为有一个默认的参数会被传入,这个参数是该函数的绝对地址
你这里main实际上接受了一个argc,代表main函数接受到的参数数量
这个数量在什么都不传入的时候为1
所以在参数位于main中的时候,起始i为1,输出会比i为0时都大1

img


这里的警告是说main接受0或2个参数,0参数好理解,2参数指的就是argc **argv这种写法
现在你只接收一个参数,相当于接受了传入的argc
有帮助望采纳