如题所述
有以下程序:
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