单项选择题以下程序段有错,错误原因是______。
main()
int *p,i;char *q,ch;
p=&i;q=&ch;*p=40;*p=*q;

A.p和q的类型不一致,不能执行*p=*q;语句
B.*p中存放的是地址值,因此不能执行*p=40;语句
C.q没有指向具体的存储单元,所以*q没有实际意义
D.q虽指向了具体的存储单元,但该单元中没有确定的值,所以不能执行*p=*q;语句


延伸阅读

你可能感兴趣的试题

1.单项选择题设有以下说明语句:
struct ex
int x;float y;char z;
example;
在下面的叙述中,不正确的一条是______。

A.struct是结构体类型的关键词
B.example是结构体类型名
C.x,y,2都是结构体成员名
D.struct ex是结构体类型

2.单项选择题设有语句:char str1[]="string", str2[8], *ste3, *str4="string";,则下列不是对库函数 strcpy的正确调用的是______。

A.strcpy(str1,"HELLOI");
B.strcpy(str2,"HELLO2");
C.strcpy(str3,"HELLOY");
D.strcpy(str4,"HELLO4");

3.单项选择题下面程序段的输出结果是______。
char *s="abcde";
s+=2;printf("%d",s);

A.cde
B.字符'c'
C.字符'c'的地址
D.无确定的输出结果

7.单项选择题sizeof(float)是______。

A.一种函数调用
B.一个双精度型表达式
C.一个整型表达式
D.一个不合法的表达式

9.单项选择题软件危机是指______。

A.软件开发和软件维护中出现的一系列问题
B.计算机出现病毒
C.软件的版权得不到法律应有的保护
D.以上都不正确

10.单项选择题设x和y均为int型变量,则以下语句:“x+=y;y=x-y;x-=y;”的功能是______。

A.把x和y按从大到小排列
B.把x和y按从小到大排列
C.无确定结果
D.交换x和y中的值