问题 单项选择题

有以下程序:
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'”语句用于连接各字符串首字符。

单项选择题
单项选择题