C语言,此题没有详细答案,答案只说136,不明白怎么做的

来源:百度知道 编辑:UC知道 时间:2024/06/04 12:29:51
#include<stdio.h>
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
程序运行后输出的结果是?小弟在此谢谢C大侠了

*argv[]是个2维数组,接受你的输入后,内容为
tt
12
345
678
上面4行首地址分别是
argv[0]
argv[1]
argv[2]
argv[3]
所以主程序中做的是取出argv[1],argv[2],argv[3]的值,变换成一个整数输出
就是136

136正解
(1[2]*10+3[45])*10+6[78]=136