有以下程序:
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
程序运行后的输出结果是______。
A) 12
B) 12345
C) 12345678
D) 136
参考答案:D
解析: main()函数可以带参数,并且只能有两个,第一个参数(argc)类型为整数,用来记下命令行的参数个数,第二个参数(argv)为一个字符型指针数组,其各个元素用来记下命令行各参数字符串的首地址。题目中argc的值是4,循环中依次求出argv[1]、argv[2]、argv[3]指向的字符串("12"、"345"、"678")首字符。其中*argv[i]用于指向求出的字符串的首地址的值,即分别是:1、3、6;"n=n*10+argv[i]-'0'"语句用于连接各字符串首字符。