计算机科学与技术(本科)

执行char*p=new char(’a’)操作后,p所指向的数据对象的值为()。

题目

执行char*p=new char(’a’)操作后,p所指向的数据对象的值为()。

参考答案和解析
正确答案:‘a’
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下面说明不正确的是

A.char a[10]="china";

B.char a[10],*p=a;p="china"

C.char *a;a="china";

D.char a[10],*p;p=a="china"


正确答案:D

第2题:

下列程序段中,不能正确赋值的是( )。

A.char*p,ch; p=&Ch; scanf("%c",&p);

B.char*p; p=char*)malloc(1); scanf("%c",p);

C.char*p; *p=getchar();

D.char*p,ch; p=&ch; *p=getchar();


正确答案:C
解析:地址变量p指向的存储空间一定要明确,否则可能影响程序的正确性。

第3题:

以下与库函数strcpy(char *p, char *q)功能不相等的程序段是()。

A.strcpy1(char *p, char *q)

{ while ((*p++=*q++)!='\0')

}

B.strcpy2( char *p, char *q)

{ while((*p=*q)!='\0')

{p++ q++}

}

C.strcpy3(char*p, char *q)

{ while (*p++=*q++)

}

D.strcpy4(char *p, char *q)

{ while(*p)

*p++=*q++

}


答案:D

第4题:

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

第5题:

下列对变量的引用中,错误的是()。A.int a;int &p=a;B.char a;char &p=a;C.int a;int &

下列对变量的引用中,错误的是( )。

A.int a;int &p=a;

B.char a;char &p=a;

C.int a;int &p;p=a;

D.float a;float &p=a;


正确答案:B

第6题:

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

A.Prohsbn

B.Prphsbn

C.Progsbn

D.Program


正确答案:A
解析:函数funl()实现的功能为将实参p所指的字符串顺序按位加1,而实参p通过“p=&a[3];”指向字符串数组a[]中的gram,敞输出结果为Prohsbn。

第7题:

有以下程序:

void funl(char*p)

{ char*q;

q=P;

while(*q!='\O')

{(*q)++;q++;}

}

main

{ char a[]={"Program"),*P;

p=&a[3];funl(p);

printf("%s\n",a);

}

程序执行后的输出结果是( )。

A.Prohsbn

B.Prphsbn

C.Progsbn

D.Program


正确答案:A
本题中使用了函数的调用,由{unl函数中的while循环可知,循环的作用是为了把q所指向的内容增加l,而从主函数传到函数时是从下标为3开始传,因此当调用函数执行完后,传过去的字符串为'hsbn',前面不变。

第8题:

有以下程序

void fun1(char *p)

{ char *q;

q=p;

while(*q!='\0')

{ (*q)++; q++; ) }

}

main()

{ char a[]={"Program"),*p;

p=&a[3];fun1(p);printf(" % s\n",a);

}

程序执行后的输出结果是

A)Prohsbn

B)Prphsbn

C)Progsbn

D)Program


正确答案:A
(37)A) 解析 : (*q)++ 是 q 所指的字符加 1,q++ 就是指针移到下一个字符。

第9题:

要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为( )。

A.const char *p=”ABCD”;

B.char const *p=”ABCD”;

C.char *const p=”ABCD”;

D.const char *const p=”ABCD”;


参考答案:D

第10题:

以下程序运行后,输出结果是______。includess(char*s){char *p=s; while(*.p)p++; retu

以下程序运行后,输出结果是______。#include<stdio.h>ss (char *s){ char *p=s; while(*.p)p++; return(p-s);}main(){ char *a="abded"; int i; i=ss((A); print ("%d\n",i);}

A.8

B.7

C.6

D.5


正确答案:D

更多相关问题