有以下程序: #include <stdio.h> #include <string.h> typedef struct{char name[9];char sex;float score[2]}STU; STU f(STU

admin2009-01-15  24

问题 有以下程序:    #include  <stdio.h>    #include  <string.h>    typedef struct{char name[9];char sex;float score[2]}STU;    STU f(STU  A)    {STU  b={"Zhao",’m’,85.0,90.0};    int  i;      strcpy(a.name,b.namC) ;      a.sex=b.sex;      for(i=0;i<2;i++) a.score=b.score;      return  a;    }    main()    {STU  c={"Qian",’f’,95.0,92.0},d;      d=f(C) ;      pintf("%s,%c,%2.of.%2.of\n",d.name,d.sex,d.score[0],&score[1]);    }    程序的运行结果是(  )。

选项 A、Qian,f,95,92
B、Qian,m,85,90
C、Zhao,m,85,90
D、Zhao,C95,92

答案4

解析 本题的f()函数中,首先定义了一个STU结构体变量b并初始化为{"Zhao",’m’,85.0, 90.0},然后分别通过strcpy()库函数、赋值语句和for循环,将b中所有成员分别赋给形参a的相应成员,最后返回a。所以,无论传递给函数fun()的参数是什么,结果返回的都会是函数中定义的STU结构体b的内容{"Zhao",’m’,85.0,90.0}。故最终输出结果为:Zhao,m,85,90;应该选择C。
转载请注明原文地址:https://jikaoti.com/ti/E6K0FFFM
0

最新回复(0)