单项选择题以下程序段有错,错误原因是______。
main()
int *p,i;char *q,ch;
p=&i;q=&ch;*p=40;*p=*q;
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;
在下面的叙述中,不正确的一条是______。
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);
char *s="abcde";
s+=2;printf("%d",s);
A.cde
B.字符'c'
C.字符'c'的地址
D.无确定的输出结果
4.单项选择题若有定义:int a[5],*p=a;,则对a数组元素地址的正确引用是______。
A.p+5
B.*a+1
C.&a+1
D.&a[0]
5.单项选择题以下程序段的输出结果是______。
char *p="abodefgh";
p+=3;
printf("%d\n",strlen(strcpy(p,"12345")));
char *p="abodefgh";
p+=3;
printf("%d\n",strlen(strcpy(p,"12345")));
A.8
B.12
C.5
D.7
6.单项选择题以下程序的输出结果是______。
main()
int i,x[3][3]=9,8,7,6,5,4,3,2,1,*p=&x[1][1];
for(i=0;i<4;i+=2)
printf("%d ",p[i]);
main()
int i,x[3][3]=9,8,7,6,5,4,3,2,1,*p=&x[1][1];
for(i=0;i<4;i+=2)
printf("%d ",p[i]);
A.5 2
B.5 1
C.5 3
D.9 7
7.单项选择题sizeof(float)是______。
A.一种函数调用
B.一个双精度型表达式
C.一个整型表达式
D.一个不合法的表达式
8.单项选择题变量a所占内存字节数是______。
union U
char st[4];
int i;
long 1;
;
struct A
int c;
union U u;
a;
union U
char st[4];
int i;
long 1;
;
struct A
int c;
union U u;
a;
A.4
B.5
C.6
D.8
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中的值
热门相关试卷
最新相关试卷