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

来源:互联网 发布:叶诗文 兴奋剂 知乎 编辑:程序博客网 时间:2024/06/07 00:56
转自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
原创粉丝点击