简答题
👁️ 浏览量:

试题题干

main()

{ struct student

 {  char name[10];

    float k1;

    float k2;

 }a[2]={{"tom",50,60},{"make",70,80}},*p=a;

 int i;

 printf("\n name:%s total=%f\n",p->name,p->k1+p->k2);

 printf("\n name:%s total=%f\n",a[1].name,a[1].k1+a[1].k2);

}

参考答案

试题解析

*p=a;是指指针变量指向数组a[]的首地址,即在输出函数中的p->name指的是数组a[2]中的tom,p->k1指的是50,p->k2指的是60,即输出p->k1+p->k2的值为110.000000;

a[1].name指的是数组a[2]中的make,a[1].k1的值为70,a[1].k2的值为90,即输出a[1].k1+a[1].k2的值为160.000000。