有以下程序#include<string.h>main(int argc,char*argv[]){int i,len=0;for(i=1;i<argc;i++)len+

题目
有以下程序includemain(int argc,char*argv[]){int i,len=0;for(i=1;i

有以下程序 #include<string.h> main(int argc,char *argv[]) { int i,len=0; for(i=1;i<argc;i++)len+=strlen(argv[i]); printf("%d\n",len); } 程序编译连接后生成的可执行文件是exl.exe,若运行时输入带参数的命令行是: exl abcd efg 10<回车> 则运行的结果是:

A.22

B.17

C.12

D.9

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

有以下程序: include main(int argc,char *argv[]){int i,len-0;for(i=l;i

有以下程序: #include <string.h> main(int argc, char *argv[ ]) { int i,len-0; for(i=l;i<argc;i+=2) len+=strlen(argv[i]); printf("%d\n",len); } 经编译链接后生成的可执行文件是ex.exe,若运行时输入以下带参数的命令行 ex abcd efg h3 k44 执行后输出的结果是

A.14

B.12

C.8

D.6


正确答案:D
解析:本题考核的知识点是带寥数的主函数的应用。主函数的第一个参数argc为整形参数,记下从命令行输入的参数的个数;第二个参数argv是一个字符型的指针数组,它的每一个元素指向命令行输入的参数字符数。在本例中argc的值为5,argv[0]指向字符串"ex",argv[1]指向参数字符串“abed”,argv[2]指向字符串“efg”,argv[3]指向参数字符串“h3”,argv[4]指向参数字符串“K44”。在main()函数中,for循环执行了2次,当i-1时,len=0+strlen(argv[1]),而其中argv[1]=“abcd”,故此时len的值为4;当i=3时,len=4+strlen(argv[3]),而其中argv[3]=“h3”,故此时len的值为6;当i=5时,退出循环,故最后输出的len的住为6。所以,4个选项中选项D符合题意。

第2题:

有以下程序includemain(int argc,char *argv[]){ int i,len=0;fot(i=1;i

有以下程序 #include <stringh> main(int argc,char *argv[]) { int i,len=0; fot(i=1;i<argc;i+=2)len+=strlen(argv[i]); printf("%d\n",len); } 经编译连接后生成的可执行文件是ex.exe,若运行时输入以下带参数的命令行 ex abcd efg h3 k44 执行后输出结果是

A.14

B.12

C.8

D.6


正确答案:D
解析:主函数的第一个参数argc为整型参数,记下从命令行输入的参数的个数;第二个参数argv是一个字符型的指针数组,它的每一个元素指向命令行输入的参数字符数。在本例中argc的值为5,argv[0]指向字符串“ex”,argv[1]指向参数字符串“abed”, argv[2]指向字符串“efg”,argv[3]指向参数字符串“h3”,argv[4]指向参数字符串“k44”。在main()函数中,for循环执行了2次,当i=1时,len=0+strlen(argv[1]),而其中argv[1]=“abcd”,故此时len的值为4;当i=3时,len=4+strlen(argv[3]),而其中 argv[3]=“h3”,故此时len的值为6;当i=5时,退出循环,故最后输出的len的值为6。

第3题:

有以下程序: include main(int argc,char *argv[ ]) { int i,len=0; for(i=1;i

有以下程序: #include<string.h> main(int argc,char *argv[ ]) { int i,len=0; for(i=1;i<argc;i++) len+=strlen(argv[i]); printf("%d\n",len); } 程序编译连接后生成的可执行文件是exl.exe,若运行时输入带参数的命令行是: exl abcd efg 10<回车> 则运行的结果是

A.22

B.17

C.12

D.9


正确答案:D
解析:本题通过键盘赋值,使指针argv,分别指向字符串“abcd、O”,“efg\0”和“10\0”。

第4题:

有以下程序:include include main(int argc,char *argv[]){ int i,len=0;f

有以下程序: #include <stdio.h> #include <string.h> main(int argc,char *argv[]) { int i,len=0; for(i=1;i<argc;i+=2)len+=strlen(argv[i]); prinff("%d\n",len); } 此程序经编译链接后生成的可执行文件是ex.exe,若运行时输入以下带参数的命令行: ex abed efg h3 k44则执行后的输出结果时( )。

A.14

B.12

C.8

D.6


正确答案:D
解析:main函数可以有两个参数,第一个参数为一个整型变量,表示命令行参数的个数,本题为5;第二个参数为一个字符型指针数组,其中第一个数组元素指向程序名,第二个数组元素指向命令行中的第一个参数,以后依此类推。由程序中的for循环可以看出,程序是求第一(argv[1])、第三(argv[3])个参数的长度之和,即4+2=6。

第5题:

有以下程序 include main(int argc ,char *argv[ ]) { int i,len=0; for(i=1;i

有以下程序 #include <string.h> main(int argc ,char *argv[ ]) { int i,len=0; for(i=1;i<argc;i+=2) len+=strlen(argv[i]); printf(“%d\n”,len); } 经编译链接后生成的可执行文件是ex.exe,若运行时输入以下带参数的命令行 ex abcd efg h3 k44 执行后输出结果是( )

A.14

B.12

C.8

D.6


正确答案:D
解析:本题依次将第1,3个字符串数组字符串长度累加,结果为6。

第6题:

有以下程序:includemain(int argc,char *argv[]){inti,len=0;for(i=1;i

有以下程序: #include <string.h> main(int argc,char *argv[]) { int i,len=0; for(i=1;i<argc;i++) len+=strlen(argv[i]); printf("%d\n",len); } 程序编译连接后生成的可执行文件是ex1.exe,若运行时输入带参数的命令行是: ex1 abcd efg 10<回车> 则运行的结果是( )。

A.22

B.17

C.12

D.9


正确答案:D
解析:本题执行时,因为命令行一共有4个字符串,所以argc的值为4,在循环中依次求出argv[1]、argv[2]和argv[3]指向的字符串("abcd"、"efg"和"10")的长度,并把它们加到变量len中,得到len的值9。所以最后输出的len值为9,故4个选项中D正确。

第7题:

有以下程序includemain(int arge,char *argv[]){int i,len=0;for(i=1;i

有以下程序 #include<string.h> main(int arge,char *argv[]) { int i,len=0; for(i=1;i<arge;i++)len+=strlen(argv[i]); printf(“%d\n”,len); } 程序编译连接后生成的可执行文件是exl.exe,若运行时输入带参数的命令行是: exl abcd efg 10<回车> 则运行的结果是

A.22

B.17

C.12

D.9


正确答案:D
解析:main()函数可以带参数,并且参数只能有两个,第一个参数(arge)类型为整型用来记下命令行的参数个数,第二个参数(argv)为一个字符型指针数组,其各个元素用来记下命令行各参数字符串的首地址。本题执行时,arge的值为4,在循环中依次求出algv[l]、argv[2]和argv[3]指向的字符串(“abcd”、“efg”和“10”)的长度,并把它们加到变量len中,得到len的值9。所以最后输出的len值为9。

第8题:

有以下程序:includemain(intargc, char *argv[ ]){int i,len=0;for(i=1;i

有以下程序: #include <string.h> main(int argc, char *argv[ ]) { int i,len=0; for(i=1;i<argc;i+=2) len+=strlen(argv[i]); printf("%d\n",len); } 经编译链接后生成的可执行文件是ex.exe,若运行时输入以下带参数的命令行 ex abcd efg h3 k44 执行后输出的结果是( )。

A.14

B.12

C.8

D.6


正确答案:D
解析:主函数的第一个参数argc为整形参数,记下从命令行输入的参数的个数;第二个参数argv是一个字符型的指针数组,它的每一个元素指向命令行输入的参数字符数。在本例中argc的值为5,argv[0]指向字符串“ex”,argv[l]指向参数字符串“abcd”, argv[2]指向字符串“efg”,argv[3]指向参数字符串“h3”, argv[4]指向参数字符串“k44”。在main()函数中,for循环执行了两次,当i =1时,len=O+strlen(argv[1]),而其中argv[l]=“abcd”,故此时len的值为4;当i=3时,len=4+strlen(argv[3]),而其中argv[3]=“h3”,故此时len的值为6;当i=5时,退出循环,故最后输出的len值为6。所以,4个选项中选项D符合题意。

第9题:

有以下程序 include main(int argc, char *argv[]) {int

有以下程序 #include <string.h> main(int argc, char *argv[]) {int i=1,n=0; while(i<argc) {n=n+strlen(argv[i]);i++;} printf("%d\n",n); } 该程序生成的可执行文件名为:proc.exe。若运行时输入命令行: proc 123 45 67 则程序的输出结果是______。

A.3

B.5

C.7

D.11


正确答案:C
解析:main()可以带有参数,并且参数只能有两个,第一个参数(argc)类型为整型用来记下命令行的参数个数,第二个参数(argv)为—个字符型指针数组,其各个元素用来记下命令行各参数字符串的首地址。此题执行时,argc的值为4,在循环中依次使用strlen()函数求出argv(1)、argv(2)、argv(3)指向的字符串(123、45、67)的长度并把他们加到变量n中,得到n的值为7。