一、主函数参数缺省
int main()
二、主函数参数不缺省
int main(int argc, char **argv)
int main(int argc, char* argv[])
//两种写法效果一样
2.1参数解释
- argc:编译程序时,输出参数的个数+1(加的这个参数为主程序名称);
- argv:指向这些参数的指针参数
三、Demo示例
3.1 demo1
demo1文件夹下编写主程序main.cpp,其中main.cpp的代码如下:
#include<iostream>
using namespace std;
int main( int argc , char** argv ){
cout << "The argv is : "<< endl ;
for(int i=0 ; i<argc ; i++)
cout << argv[i] << endl ;
cout << "the argc is : "<< argc << endl ;
return 0;
}
在终端编译:
g++ main.cpp -o main
在终端运行目标文件
./main 'Automatic' 'driving' 'test'
结果如下:
./main 'Automatic' 'driving' 'test'
The argv is :
./main
Automatic
driving
test
3.2 demo2
demo1文件夹下编写主程序main.cpp,其中main.cpp的代码如下:
#include <iostream>
using namespace std;
double power(double base,double exponent)
{
int res=base;
if(base==1)
{
return 1;
}
for(int i=1;i<exponent;i++)
{
res=res*base;
}
return res;
}
int main(int argc,char *argv[])
{
if(argc<3)
{
cout<<"Usage:"<<argv[0]<<endl;
return 1;
}
double base =atof(argv[1]);
int exponent=atoi(argv[2]);
cout<<"result"<<endl<<power(base,exponent)<<'\n';
return 0;
}
在终端编译:
g++ main.cpp -o main
在终端运行目标文件
./main 2 3
结果如下:
./main 2 3
result
8
本文详细介绍了C++中主函数`main()`的参数使用,包括默认情况和带有参数的情况。通过示例代码解析了`argc`和`argv`参数的作用,展示了如何在程序中读取命令行参数,并提供了处理命令行参数的代码片段。通过实例演示了如何从命令行传递参数并进行计算操作。
437

被折叠的 条评论
为什么被折叠?



