A-A+

有以下程序#include <stdio.h>main(){int a[ ]={1 2 3

2022-08-06 00:40:56 问答库 阅读 174 次

问题详情

有以下程序
#include <stdio.h>
main()
{int a[ ]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL;
*q=*(p+5);
printf("%d %dn",*p,*q);
}
程序运行后的输出结果是
A.运行后报错
B.6 6
C.6 11
D.5 10

参考答案

正确答案:C
解析:本题中第一行代码对指针P进行了初始化,其指向数组a的第6个元素,在其后的操作中p的值也没有改变过,所以最后输出*p=*  (p+0)  =a [5] =6,而第二行代码中对q指向的值进行赋值,等价于*q=a[10]=11,所以输出结果*q为11。

考点:程序