有下列程序: #include #include"string.h" typedef struct{char name[9];char sex;float score[2];}STU; void f(STU a) { STU b={"Zhao",’m’

admin2020-10-21  1

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

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

答案A

解析 本题考查在结构体中函数的调用,主函数调用f(c)后,实参传向形参,但程序中没有返回语句,故形参不能将值传回实参,实参之间值的传递具有不可逆性,所以printf输出的还是c中实参的值。
转载请注明原文地址:https://kaotiyun.com/show/nfyp777K
0

随机试题
最新回复(0)