有以下程序: #include #include typedef struct{char name[9];char sex;int score[2];}STU; STU f(STU a) { STU b={"Zha

admin2015-08-09  34

问题 有以下程序:
    #include  
    #include  
    typedef struct{char name[9];char sex;int score[2];}STU;
  STU f(STU a)
  {  STU b={"Zhao",’m’,85,90};
  int i;
    strcpy(a.name,b.name);
    a.sex=b.sex;
    for(i=0;i<2;i++)a.scorei  =b.score
    return  a;
  }
  main()
  {  STU c={"Qi,m",’f’,95,92},d;
  d=f(c);
    printf("%s,%c,%d,%d,",d.name,d.sex,d.score[0],d.score[1]);
    printf("%s,%c,%d,%d\n",c.name,c.sex,c.score[0],c.score[1]);
  }
  程序运行后的输出结果是(    )。

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

答案A

解析 本题考查的是函数调用时的参数传递问题。程序在调用函数f时,传给函数f的参数只是结构变量c在栈中的一个副本,函数f所做的所有操作只是针对这个数据副本进行的修改,这些都不会影响变量c的值。
转载请注明原文地址:https://kaotiyun.com/show/HQDp777K
0

最新回复(0)