关于main(int argc,char **argv)中参数的说明

c语言主函数int main(int argc; char *argv[])中参数的作用

在以前的c语言学习中,主函数一般定义为

 

void main()
{}

没有参数。但是,随着学习的深入和课题中实际问题的需要(例如:在课题中,经常需要测试不同的点云文件,如果不给main()函数加参数,而是每次都依靠查找到并修改主函数中的点云文件名来达到目的,势必是很麻烦的。),我们将主函数定义为

 

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

的形式,添加了参数argc和argv。这两个参数的作用是:当执行make命令编译完程序生成可执行文件后(假设生成的可执行文件名为main),在执行该可执行文件时,argc表示输入的命令行中的字符串的个数,argv[i]表示第i个字符串,例如:如果在命令行中输入

 

./main

若输出argc,则其输出值为1;如果在命令行中输入

 

./main fish.asc

若输出argc,则其输出值为2。

样例:

 

int main(int argc, char *argv[])  
{
FILE *file=NULL; 

if (argc==1)
{ 
if((file=fopen("venus.asc","r"))==NULL) {
   
printf("error in open file venus.asc\n");
     return 1;  
}
}
else{
if((file=fopen(argv[1],"r"))==NULL) {
   
printf("error in open file %s!\n", argv[1]);
     return 1;
}
......
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值