以下程序的输出结果是()。#include<iostream>using namespace std;void fun(char**q){++q;cout<<*

题目
以下程序的输出结果是()。includeusing namespace std;void fun(char**q){++q;cout<<*

以下程序的输出结果是( )。 #include<iostream> using namespace std; void fun(char**q) { ++q; cout<<*q<<end1; } main() { static char*s[]={"HI","HELL0","TEST"}; char**p; p=s; fun(p); system("PAUSE"); return 0; }

A.为空

B.HI

C.HELL0

D.TEST

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

第1题:

以下程序的结果是()。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

第2题:

以下程序的结果是 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)++的区别。

第3题:

以下程序段的输出结果是 ______。includevoid main(){ char*p[5]={"ABCD","EF","GHI

以下程序段的输出结果是 ______。 #include<iostream.h> void main(){ char*p[5]={"ABCD","EF","GHI","JKL","MNOP"}; char **q=p; int i; for(i=0;i<=4;i++) cout<<q[i]; }

A.ABCDEFGHIJKL

B.ABCD

C.ABCDEFGHIJKMNOP

D.AEGJM


正确答案:C

第4题:

若有如下程序段: include using namespace std; int main() {char*p="abcdefgh",*r;l

若有如下程序段:

include <iostream>

using namespace std;

int main()

{

char *p="abcdefgh",*r;

long *q;

q=(long *)p;q++;

r=(char *)q;

cout<<r<<end1;

return 0;

}

该程序的输出结果是______。


正确答案:efgh
efgh 解析:本题定义了一个字符型指针变量p,并通过赋初值让它指向了一个字符串,还定义了另一个字符型指针变量r和一个长整型指针变量q。首先通过语句“a=(long*)p;”,把p的地址值强制转换为长整型地址值并赋值给小然后执行“q++”,地址值增加了4,执行语句“r=(char*)q;”,把长整型指针变量q的值再强制转换成字符型地址值并赋给r,r的值应为字符串中字符“e”的地址。最后输出r指向的字符串。

第5题:

若有如下程序:include using namespace std;int main(){ char *p="abcdefgh",*r; lon

若有如下程序: #include <iostream> using namespace std; int main() { char *p="abcdefgh",*r; long *q; q=(long *)p; q++; r=(char *)q; cout<<r<<end1; return 0; } 上述程序的输出结果是( )。

A.abcdefgh

B.0

C.abcd

D.efgh


正确答案:D
解析:本题定义了一个字符型指针变量p,并通过赋初值让它指向了一个字符串。还定义了另一个字符型指针变量r和一个长整型指针变量q。首先通过语句“q=(long*)p;”,把p的地址值强制转换为长整型地址值并赋值给q,然后执行“q++;”,地址值增加了4,执行语句“r=(char*)q;”,把长整型指针变量q的值再强制转换成字符型地址值并赋给r,r的值应为字符串中字符“e”的地址。最后输出r指向的字符串。

第6题:

有以下程序: include void funl (char * p){char * q; q=p; while( *q! ='\0') } (*q)

有以下程序: #include <stdio.h>void funl (char * p){ char * q; q=p; while( *q! ='\0') } (*q) ++;q++;}mains( ){ char a[ ] = { "Program" } , * p; p = &a[3]; fun1 (p); printf("% s \n" ,a);}程序执行后的输出结果是( )。

A.Prohsbn

B.Prphsbn

C.Progsbn

D.Program


正确答案:A
解析:在main函数中,p=&a[3]说明指针p指向a数组的第4个字符(即字符'g');fun1中的q=p意味着指针q也指向了a数组的第4个字符。执行while语句,表达式(*q)++使'g'+1,使'g'变成了'h';表达式q++使q指向a[4]的起始地址。继续执行while语句,直到遇到'\0'结束循环,返回形参。最终得到的结果是从字符串"Program'的第4个字符开始,每个字符加1。

第7题:

有以下程序: include int i=0;void fun(){{static iht i=1; std::cout<

有以下程序: # include <iostream> int i=0; void fun() {{static iht i=1; std::cout<<i++<<','; } std:: cout<<i<<','; } int main() { fun(); fun(); return 0; }程序执行后的输出结果是______。

A.1,2,1,2,

B.1,2,2,3,

C.2,0,3,0,

D.1,0,2,0,


正确答案:D
解析:程序中,static声明了一个局部静态变量,在程序运行期间一直存在,第二次调用函数改变了该值。全局变量一直未改变。

第8题:

以下程序的输出结果是【】。 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;

}


正确答案:5678
5678

第9题:

若有以下程序段: include using namespace std; int main() {char*p="abcdefgh",*r;l

若有以下程序段:

include <iostream>

using namespace std;

int main()

{

char*p="abcdefgh",*r;

long*q;

q=(long*)p;q++;

r=(char*)q;

cout<<r<<end1;

return 0;

}

该程序的输出结果是【 】。


正确答案:efgh
efgh 解析:本题定义了一个字符型指针变量p,并通过赋初值让它指向了一个字符串,还定义了另一个字符型指针变量r和一个长整型指针变量qo首先通过语句“a=(long*)p;”,把p的地址值强制转换为长整型地址值并赋值给q,然后执行“q++;”,地址值增加了4,执行语句“F(char*)q;”,把长整型指针变量q的值再强制转换成字符型地址值并赋给r,r的值应为字符串中字符“e”的地址。最后输出r指向的字符串。