C++常见用法——int main (int argc, char *argv[])

一、主函数参数缺省

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

猜你喜欢

转载自blog.csdn.net/LiuXF93/article/details/123041478