问题库
search
首页 计算机 驾照考试 关于

有以下程序: #include <stdio.h> #include <string.h> 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.score[i] = b.score[i];   return a; } main() {  STU c= { "Qian", '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, Qian,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
浏览177
计算机二级office题库App
收录最新试题,随时随地刷题
参考答案:A
解析:

【解析】本题考查的是函数调用时的参数传递问题。程序在调用函数f时,传给函数f的参数只是结构变量c在栈中的一个拷贝,函数f所做所有操作只是针对这个数据拷贝进行的修改,这些都不会影响变量c的值。