main( intmain(int argc,char *argv[]) argc ,char*argv[ ] )

转自https://zhidao.baidu.com/question/436800921.html
1、例程1
argc 是命令行参数总个数,含程序名。
argv[i] 是命令行第几个参数,i=0 是程序名,i=1,2,3... 是接下去的参数,注意:是字符串形式。
如果输入形式是:
a.exe 1 3 5
下面程序计算出 n=135  
main(int argc,char *argv[])
{ 
int i,n=0;
for (i=1;i<argc;i++){
n = n*10 + (argv[i][0]-'0');
}
printf("%d ",n);
}

2、例程2
有以下程序: 
main(int  argc,char  *argv[ ])
{ int n=0,i;
for( i=1; i<argc;i++)  n=n*10+*argv[i]–'0';
printf("%d\n",n); 
}
编译连接后生成可执行文件tt.exe,若运行时输入    
tt  12  345  678

能解释下for( i=1; i<argc;i++) n=n*10+*argv[i]–'0';的意思吗?

*argv[i]  是argv[1][0],argv[2][0],argv[3][0], ASCII 值,你的情况是'1' '3'  '6'
减ASCII 值 '0'   得 整形量 1,3,6。
n=n*10+ 整形量[i]  就是升到 10进制 10 位,百位 ...
--
argv[1],argv[2],argv[3] 是字符串 12  345  678

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值