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 2 45 678
则程序运行后输出结果是??
答案是 246 为什么 ,详细解题过程????

argv[1] = "2"
argv[2] = "45"
argv[3] = "678"

而argv[i]是字符串数组的头指针,指向第一个字符,因此
argv[1] - '0' = 2
argv[2] - '0' = 4
argv[3] - '0' = 6

程序结果当然就是246了
温馨提示:答案为网友推荐,仅供参考
相似回答