C语言,求解答,谢谢

 我来答
zzx497633332
2016-02-16 · TA获得超过480个赞
知道小有建树答主
回答量:75
采纳率:0%
帮助的人:86.3万
展开全部
  答案应该是:Zhao,m,85,90,Qian,f,95,92

  解析:
  1、子函数f()的功能是:将结构体变量b的各个域的值依次赋值给结构体变量形参a,使得a的各个域值与b的完全一样。
  2、主函数功能:先计算结构体变量d的值,再依次输出d和c的各个域值。其中,d得到的是f()函数的返回值;而这个返回值是子函数中a的值(因为子函数f()中return的是a)。
  需要注意的是,在二级考试题目中,有时这个样子的题目会有变动。例如,主函数中的语句"d=f(c);"更改为"f(c);"。这时,答案就会变成:?????,?,??,??,Qian,f,95,92。
  其中??为不确定值。
更多追问追答
追问
其实,我之前的答案也是那个错误的,但我觉得,只是值的传递,两次输出的结果应该都是主函数里那个呀,是因为子函数那里return a;而主函数的变量d接收它的缘故才导致第一次输出的结果是子函数里返回的那个值么?
追答
  在二级考试里面,题目可能会像下面这么出(两种情况,但不要变量d):
  第一种(子函数与你的原题都一样,我不写出来了,只写主函数):
main()
{
STU c={"Qian",'f',95,92};
c=f(c); //c的值被改变

printf("%s,%c,%d,%d\n",c.name,c.sex,c.score[0],c.score[1]);
}
  第二种:
main()
{
STU c={"Qian",'f',95,92};
f(c); //这句不同,c的值未改变

printf("%s,%c,%d,%d\n",c.name,c.sex,c.score[0],c.score[1]);
}
  两种题目结果就不一样。因此,考试要看仔细。
寻泪1991
2016-02-16
知道答主
回答量:20
采纳率:0%
帮助的人:16.2万
展开全部
结果应该会出错吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ec32694
2016-02-16 · TA获得超过120个赞
知道答主
回答量:123
采纳率:100%
帮助的人:41.9万
展开全部
选项都没拍啊?
追问
没有选项就得不出结果么?(⊙o⊙)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式