有以下程序:includemain(){char a[]="abcdefg",b[10]="abcdefg"; printf("%d%d\n",siz有以下程序: #include <stdio.h> main() { char a[]="abcdefg",b[10]="abcdefg"; printf("%d%d\n",sizeof(a),sizeof(b)); } 执行后的输出结果是( )。A.7 7B.8 8C.8 10D.10 10

题目
有以下程序:includemain(){char a[]="abcdefg",b[10]="abcdefg"; printf("%d%d\n",siz

有以下程序: #include <stdio.h> main() { char a[]="abcdefg",b[10]="abcdefg"; printf("%d%d\n",sizeof(a),sizeof(b)); } 执行后的输出结果是( )。

A.7 7

B.8 8

C.8 10

D.10 10


相似考题
更多“有以下程序:#include<stdio.h>main(){char a[]="abcdefg",b[10]="abcdefg"; printf("%d%d\n",siz ”相关问题
  • 第1题:

    有以下程序 include void fun(char **p) { ++p; printf("%s\n",*p);

    有以下程序 #include <stdio.h> void fun(char **p) { ++p; printf("%s\n",*p); } main() { char *a[]={"Moming","Afternoon","Evening","Night"}; fun(a); } 程序的运行结果是

    A.Afternoon

    B.fternoon

    C.Morning

    D.orning


    正确答案:A
    解析:本题主函数中定义了一个指针数组a,可以将它看成一个以字符指针为元素的一维数组。和—般的一维数组名能赋给同类型指针变量一样,该字符指针数组也可以赋给指向字符指针的指针(即字符型二级指针),所以数组名a可以用作函数fun()的实参。

  • 第2题:

    有以下程序 main ( ) { char a [] = "abcdefg", b [10] ="abcdefg"; printf ("%d %d\n" ,sizeof (a) ,sizeof (b)); } 执行后输出结果是

    A.7 7

    B.8 8

    C.8 10

    D.10 10


    正确答案:C
    解析:本题考核的知识点是字符数组的定义、赋初值以及函数sizeof()的应用。本题中定义两个字符型数组,其中a省略了长度,定义了b的长度为10,并赋初值分别为“abcdefg”和“abcdfg”。所以a的长度为赋值给它的字符串的字符个数7加上一个结束转义字符,即a的长度为7+1为8.定义时b的长度定义为10,故b的长度为10,因此最后通过函数sizeof()求得的数组a和数组b的长度分别为8和10,所以,4个选项中选项C符合题意。

  • 第3题:

    以下程序的输出结果是includeincludemain(){ char b1[8]=“abcdefg”,b2[8],

    以下程序的输出结果是 #include<stdio.h> #include<string.h> main() { char b1[8]=“abcdefg”,b2[8],*pb=b1+3; while(--pb>=b1)strcpy(b2,pb) ; printf(“%d\n”,strlen(b2)); }

    A.8

    B.3

    C.1

    D.7


    正确答案:D
    解析:strcpy()函数的作用是把第二个参数代表的字符串,复制到第一个参数指向数组中。首先定义了两个字符数组b1和b2,并用一个字符串给b1赋初值,然后定义了一个字符型指针变量pb,通过赋初值使它指向b1[3]。接着执行while循环,该循环执行了3次:第一次判断条件“--pb>=b1”,使pb的值为“b1+2”,执行“strcpy(b2,pb);”后,b2中的内容为“cdefg”;第二次判断条件“--pb>=b”,使pb的值为“b1+1”,执行“strcpy(b2,pb);”后b2的内容为“bcdefg”第三次判断条件“--pb>:b1”使pb的值为“b1”,执行“strcpy(b2,pb);”后b2的内容为“abcdefg”。最后输出b2数组中存放的字符串长度,显然是7。(这里还有一个关键点:就是每当执行一次while循环判断条件,就执行一次“--pb”,使得指针pb自减1,即前移一位)。

  • 第4题:

    有以下程序的输出结果是( ) main( ) { char a[ ]=”abcdefg”,b[10]=”abcdefg”; printf(“%d %d\n”,sizeof(a),sizeof(b));}

    A.7 7

    B.8 8

    C.8 10

    D.10 10


    正确答案:C
    解析:字符数组a共有8个元素,b有10个元素。

  • 第5题:

    有以下程序:include include main(){char *p[10]={"abc","aabdfg","dcdbe"

    有以下程序: #include <stdio.h> #include <string.h> main() { char *p[10]={"abc","aabdfg","dcdbe","abbd","cd"}; printf("%d\n",strlen(p[4])); } 执行后的输出结果是( )。

    A.2

    B.3

    C.4

    D.5


    正确答案:A
    解析:p是由10个指向字符型数据的指针元素组成的指针数组,其中前5个数组元素进行了初始化。p[4]="cd",strlen(str)是统计字符串str中字符的个数(不包括终止符'\0'),输出结果为2。