指针习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
指针习题
(1) 若有说明“int n=2,*p=&n,*q=p;”,则以下非法的赋值语句为。
A. p=q;
B. *p=*q;
C. n=*q;
D. p=n;
(2) 若程序已包含头文件stdio.h,以下选项中正确运用指针变量的程序段是。
A. int i=NULL;
B. float *f=NULL;
scanf("%d",i); *f=10.5;
C. char t='m',*c=&t;
D. long *L;
*c=&t; L='\0';
(3) 设有定义“int A,*pA=&A;”,以下scanf语句中能正确为变量A读入数据的是。
A. scanf("%d",pA);
B. scanf("%d",A);
C. scanf("%d",&pA);
D. scanf("%d",*pA);
(4) 已有定义:int i,a[10],*p;,则合法的赋值语句。
A. p=100;
B. p=a[5];
C. p=a[2]+2;
D. p=a+2;
(5) 有以下程序
main()
{ int x[8]={8,7,6,5,0,0},*s;
s=x+3;
printf("%d\n", s[2]);
}
执行后输出的结果是。
A. 随机值
B. 0
C. 5
D. 6
(6) 有以下程序
main()
{ int a[3][2]={0},(*ptr)[2],i,j;
for(i=0;i<2;i++)
{ ptr=a+i; scanf("%d",ptr); ptr++;}
for(i=0;i<3;i++)
{ for(j=0;j<2;j++) printf("%2d", a[i][j]);
printf("\n");
}
}
若运行时输入:1 2 3<回车>,则输出结果是 D 。
A. 产生错误信息
B. 1 0
C. 1 2
D. 1 0
2 0
3 0 2 0
0 0 0 0 3 0
(7) 有以下程序
void sort(int a[],int n)
{ int i,j,t;