itgle.com

以下程序的输出结果是【】。 includevoid main() {char *p= "12345678" , *r;long *q;以下程序的输出结果是【 】。include<iostream. h>void main() {char *p= "12345678" , *r;long *q;q=(long *)p;q++;r= (char *) q:cout<<r;}

题目
以下程序的输出结果是【】。 includevoid main() {char *p= "12345678" , *r;long *q;

以下程序的输出结果是【 】。

include<iostream. h>

void main() {

char *p= "12345678" , *r;

long *q;

q=(long *)p;

q++;

r= (char *) q:

cout<<r;

}


相似考题
更多“以下程序的输出结果是【】。 include<iostream. h>void main() {char *p= "12345678" , *r;long *q; ”相关问题
  • 第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题:

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

  • 第3题:

    以下程序的结果是()。includevoid main(){char*p="abcdefgh",*r;long*q;q=(1ong*)P;

    以下程序的结果是( )。 #include<iostream.h> void main() {char*p="abcdefgh",*r; long*q; q=(1ong*)P; q++; r=(char*)q; cout<<r<<endl;=

    A.defg

    B.cdef

    C.ghab

    D.efgh


    正确答案:D

  • 第4题:

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

  • 第5题:

    以下程序的结果是 include void main( ) { char * p="abcdefgh",* r; long *

    以下程序的结果是 #include<iostream.h> void main( ) { char * p="abcdefgh",* r; long * q; q=(long * )p; q++; r=(char * )q; cout < < r < < end1;}

    A.defg

    B.cdef

    C.ghab

    D.efgh


    正确答案:D
    解析:C++语言规定,如果指针变量q已指向数组中的一个元素,则(q++指向同一数组中的下一个元素(而不是将q的值简单的加1)。本题中q是long型指针,每个long型数据占内存字节数为4,所以q++则由当前位置向右移动4个字节,所以最后显示出的是efgh。注意:请注意*(P++)与(*p)++的区别。