更多“C语言中main函数参数的非法表示形式是()A.main(char*argv[],int argc)B.main(int a,char **b)C.m ”相关问题
  • 第1题:

    main(argc,argv)中形式参数argv的正确说明形式应当为( )。

    A.char *argv[ ]

    B.char argv[ ][ ]

    C.char argv[ ]

    D.char *argv


    参考答案:A

  • 第2题:

    不合法的main函数命令行参数表示形式是______。

    A.main(int a,char*c[])

    B.main(int arc, char **arv)

    C.main(int argc,char*argv)

    D.main(int argv,char*argc[])


    正确答案:C

  • 第3题:

    下列属于不合法的main函数命令行参数表示形式的是( )。

    A.main(int argv,char*argc[])

    B.main(int argv,char*argc)

    C.main(int argv,char**arc)

    D.main(int argc,char*argv[])


    正确答案:B
    解析:main函数通常可用两个参数,参数名可由用户自定,但类型是固定的,第一个参数必须是整型,第二个参数是一个指向字符型的指针数组的指针,可以表示为**arc或*argc[]。4个选项中只有选项B不符合。

  • 第4题:

    对于以下带参数的main()函数的第二形参,void main(int argc, ______),不可能的形式是

    A.char * argv[]

    B.char argv[]

    C.char * *a

    D.char * m[]


    正确答案:B
    解析:本题要考查的实际是字符数组,用于向函数传递参数,属于指针或引用传递方式。要注意的是考生不要被名称所迷惑,即根据A和D是相同类别的,故可以排除。对C来说,也属于指针传递方式,而B不仅不属于指针传递,而且还没有限定数组大小,编译器在编译时就会产生错误。

  • 第5题:

    有以下程序: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正确。

  • 第6题:

    在C语言中,main()函数可以带两个形参argc和argv,其中argv可以定义为______。

    A.int argv;

    B.char*argy[];

    C.char argv[];

    D.char**argv[];


    正确答案:B
    解析:在C语言中,main()函数可以带两个形参argc和argv,其中argc存储参数个数,argv存储参数表。它们的定义格式是:main(intargc,char*argv[])。

  • 第7题:

    有以下程序: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。

  • 第8题:

    有以下程序: 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”。

  • 第9题:

    下列不合法的main函数命令行参数的表示形式是______。

    A.main(int a,char *c[]);

    B.main(ac,av)int arc;char**av;

    C.main(c,v)int c;char*v[];

    D.main(argc,argv)int argc;char argv[];


    正确答案:D
    解析:main函数的参数通常有两个,前者为整型,后者为字符型指针数组。参数的名字可以是任意合法的标识符。而且,形如**av与*av[]等价,所以选项A、B、C均正确,选项D是错误的。

  • 第10题:

    有以下程序: 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符合题意。

  • 第11题:

    函数首部int main(int argc, char *argv[ ])中argc表示的是()


    正确答案:命令行参数的个数

  • 第12题:

    单选题
    不合法的main函数命令行参数表示形式是()
    A

    main(inta,char*c[])

    B

    main(intarc,char**arv)

    C

    main(intargc,char*argv)

    D

    main(intargv,char*argc[])


    正确答案: A
    解析: 暂无解析

  • 第13题:

    main函数的正确说明形式是()。

    A.main(intargc,char*argv)

    B.main(intabc,char**abv)

    C.main(intargc,charargv)

    D.)main(intc,charv[])


    正确答案:B

  • 第14题:

    不合法的main函数命令行参数表示形式是( )。

    A.main (int a,char*c[1])

    B.main (int arc, char**arv)

    C.main (int argc, char*argv)

    D.main (int argy, char*argc[])


    正确答案:C

  • 第15题:

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

    有以下程序: #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

  • 第16题:

    合法的main函数命令参数形式是( )。

    A.main(int a,char*c[])

    B.main(int arc,char**arv)

    C.main(int argc,char*argv)

    D.main(int argv,char*argc[])


    正确答案:C
    在C语言中,main函数也可以有参数,例如,main(intar90,char*argv),argc是指字符串的指针数组,而其他几项表达不正确。

  • 第17题:

    有以下程序 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。

  • 第18题:

    不合法的main函数命令参数形式是( )。

    A.main(int a,char*c[])

    B.main(int arc,char**arv)

    C.main(int argc,char*argv)

    D.main(int argv,char*argc[])


    正确答案:C
    当main函数有形参时,main()中的参数第一个表示个数(包含命令名字在内),第二个表示对应的内容,应该为char*argv[],即输入一些字符串。A和D其实是一样的只是名字不同无所谓。B中的**arv指向指针的指针可以。C则不对。

  • 第19题:

    有以下程序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


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

  • 第20题:

    不合法的main函数命令行参数表示形式是

    A.main(inta,char *c[])

    B.mmn(int arc,char **arv)

    C.main(int argc,char *argv)

    D.majn(int argv,char *atgc[])


    正确答案:C
    解析:main()函数可以带有参数,并且参数只能有两个,第一个参数类型为整型,用来记下命令行的参数个数,第二个参数为一个字符型指针数组,或字符型二级指针变量(指向一个数组,数组元素又是一个一级字符指针),其各个元素用来记下从命令行各参数字符串的首地址.故本题只有C选项不符合要求。所以,4个选项中C为所选。

  • 第21题:

    有以下程序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。

  • 第22题:

    不合法的main函数命令行参数表示形式是()

    • A、main(inta,char*c[])
    • B、main(intarc,char**arv)
    • C、main(intargc,char*argv)
    • D、main(intargv,char*argc[])

    正确答案:C

  • 第23题:

    填空题
    函数首部int main(int argc, char *argv[ ])中argc表示的是()

    正确答案: 命令行参数的个数
    解析: 暂无解析