有以下程序 #include <stdio.h> #include <string.h> typedef struct { char name[10]; char sex;

admin2021-04-28  22

问题 有以下程序
      #include <stdio.h>
      #include <string.h>
      typedef struct {
         char name[10];
         char sex;
         int age;} STU;
      void fun(STU *t)
      {  strcpy((*t).name,"Tong");
        (*t).age++;
      }
      main()
      {   STU s[2]={"Hua",’m’,18,"Qin",’f’,19};
          fun(s+1);
          printf("%s,%d,%s,%d\n",s[0].name,s[0].age,s[1].name ,s[1].age );
      }
程序运行后的输出结果是

选项 A、Hua,18,Tong,20
B、Hua,18,Qin,19
C、Tong,19,Qin,19
D、Hua,19,Tong,19

答案A

解析 用typedef说明一种新类型名STU,其使用情况与结构体基本一致。程序执行过程为:定义STU类型数组,长度为2,并为其初始化。s[0].name="Hua",s[0].sex=’m’,s[0].age=18,s[1].name="Qin",s[1].sex=’f’,s[1].age=19。调用函数fun(s+1)将变量s[1]地址传入函数,则s[1].name="Tong",s[1].age=20。依次输出s[0].name,s[0].age,s[1].name ,s[1].age,结果为Hua,18,Tong,20,A选项正确。
转载请注明原文地址:https://jikaoti.com/ti/4zz0FFFM
0

最新回复(0)