问题 单项选择题

有以下程序
  #include<iostream.h>
  struct STU
   char num[10];
   float score[3];;
  void main( )
    struct STU s[3]= "20021",90,95,85 ,
              "20022",95,80,75 ,
              "20023",100,95,90 ,* p=s;
    int i;
    float sum=0;
    for(i=0;i<3;i++)
    sum=sum+p->score[i];
    cout < < sum;
 程序运行后的输出结果是

A.260

B.270

C.280

D.285

答案

参考答案:B

解析:【命题目的】考查结构体的用法
【解题要点】:C++语言规定数组名代表数组的首地址,也就是第0号元素的地址,在本题中s就是s[0]的地址,指针变量P指向s,也就是指向s[0],所以在for循环累加的是s[0]的score成员值。
【考点链接】注意结构体与类的区别。

单项选择题
单项选择题