更多“有以下程序 main (){char p[]={'a','b','c},q[] ="abc";printf ( "%d%d\n" , sizeof (p) , sizeo ”相关问题
  • 第1题:

    有以下程序include main(){ char *p,*q;p=(char*)malloc(sizeof(char)*20);q=p;scanf

    有以下程序 #include <stdlib.h> main() { char *p,*q; p=(char*)malloc(sizeof(char)*20); q=p; scanf("%s %s",p,q); printf("%s %s\n",p,q); } 若从键盘输入:abc def<回车>, 则输出结果是

    A.def def

    B.abc del

    C.abc d

    D.d d


    正确答案:A
    解析:本题考查的知识点是字符型指针变量、malloc()函数的使用。本题首先定义两个字符型指针变量p和q,通过malloc()函数申请20个字符的存储空间,并把它的首地址赋给p,在把p的值赋给q,p和q指向同一个存储区。在scanf()语句中读取字符串到p和q指向的字符串,先把“abc”读取到p指向的存储区中,第一个空格是结束标记,第二个空格是分隔符,再把“def”存放到q指向的存储区,把原先的内容覆盖。所以p和q指向的存储区中内容是“def”,所以最后输出的def,clef.所以4个选项中A正确。

  • 第2题:

    有以下程序:includemain(){char *p,*q; p=(char*)malloc(sizeof(char)*20);q=p; scan

    有以下程序: #include <stdlib.h> main() { char *p,*q; p=(char*)malloc(sizeof(char)*20);q=p; scanf("%s%s",p,q); printf("%s%s\n",p,q); } 若从键盘输入:abc def<回车>,则输出结果是( )。

    A.def def

    B.abc def

    C.abe d

    D.d d


    正确答案:A
    解析:本题首先定义两个字符型指针变量p和q,通过malloc()函数申请20个字符的存储空间,并把它的首地址赋给p,在把p的值赋给q,p和q指向同一个存储区。在scanf()语句中读取字符串到p和q指向的字符串,先把“abc”读取到p指向的存储区中,第一个空格是结束标记,第二个空格是分隔符,再把“def”存放到q指向的存储区,把原先的内容覆盖。所以p和q指向的存储区中内容是“def”,所以最后输出的def,def所以4个选项中A正确。

  • 第3题:

    有以下程序: include main( ) { char *p ,* q; p=(char * )malloc(sizeof(char

    有以下程序: #include<stdlib.h> main( ) { char *p ,* q; p=(char * )malloc(sizeof(char) * 20);q=p; scanf("%s%s",p,q); printf("%s%s\n",p,q); } 若从键盘输入:abc def<回车>,则输出结果是

    A.def def

    B.abc def

    C.abc d

    D.d d


    正确答案:A

  • 第4题:

    有以下程序: main() { char p[]={'a','b','c},q[]="abc"; printf("%d %d\n",sizeof(p),sizeof(q)); } 程序运行后的输出结果是( )。

    A.4 4

    B.3 3

    C.3 4

    D.4 3


    正确答案:C
    解析:字符数组即可以用{初始化列表}来初始化,也可以用一个字符串常量来初始化。但字符串常量系统会自动为其添加结束标记'\0',故比实际长度要多一位,所以本题输出为34,应该选择C。

  • 第5题:

    有以下程序:include main( ){char P[] = {'a','b','c'} ,q[]: "abc";printf( "% d % d

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

    A.44

    B.33

    C.34

    D.43


    正确答案:C
    解析:sizeof运算符是计算变量或数组所分配到的内存空间的大小,p[]={'a','b','c'}使数组的长度等于字符的个数3;q[]="abc"使数组的长度等于字符个数加上1个串结束符,'\0',共4个字符,其中,'\0',占用一个存储空间。故本题的输出结果是34。