问题 单项选择题

如下程序的执行结果是
  #include<iostream.h>
  void main( )
   static int a[ ]= 1,7,3,9,5,11 ;
   int * p=a;
   * (p+3)+=4;
   cout < < * p < <"," < < * (p+3);

A.1,13

B.1,16

C.3,13

D.1,14

答案

参考答案:A

解析:【命题目的】本题考查对指针数组的掌握。
【解题要点】指针数组的定义、赋初值、数组元素的引用与赋值等操作和一般数组的处理方法基本相同。需要注意指针数组是指针类型的,对其元素所赋的值必须是地址值。其格式是“存储类型数据类型 * 指针数组名1[长度1]={初值1},功能是定义指向“数据类型”变量或数组的指针型数组,同时给指针数组元素赋初值。这些指针变量具有指定的“存储类型”。本题中指针 * p指向数组a,表达式 * (p+3)+=4的含义是 * (P+3)= * (p +3)+4,而 * (p+3)在数组中指向的值为9,最后输出的结果为9+4=13,
【考点链接】一个语句的结束要有分号。

改错题
单项选择题 案例分析题