有以下程序   #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 %d\

admin2006-08-25  18

问题 有以下程序
  #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 %d\n",*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。
转载请注明原文地址:https://jikaoti.com/ti/8RS0FFFM
0

相关试题推荐
最新回复(0)