有以下程序

时间:2013.06.12 发布人:cfpl325

有以下程序

已解决问题

谷歌cfpl325用户在2013.06.12提交了关于“巴啦啦小魔仙有以下程序”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2024-10-24T04:40:45。有以下程序typedefstruct{intb,p;}A;voidf(Ac)/*注意:c是结构变量名*/{intj;c.b+=1;c.p+=2;}main(){inti;Aa={1,2};f(a);printf(“%d,%d\n”,a.b,a.p);}程序运行后的输出结果是(D)A)2,3B)2,4C)1,4D)1,2希望大家能够帮助她。

详细问题描述及疑问:有以下程序typedefstruct{intb,p;}A;voidf(Ac)/*注意:c是结构变量名*/{intj;c.b+=1;c.p+=2;}main(){inti;Aa={1,2};f(a);printf(“%d,%d\n”,a.b,a.p);}程序运行后的输出结果是(D)A)2,3B)2,4C)1,4D)1,2期待您的答案,不知道说什么,送你一朵小红花吧 !

希望以下的回答,能够帮助你。

第1个回答

用户名:wtfpu  

Aa={1,2}==>a.b=1;a.p=2;f(a)==>a.b+=1-->a.b=2来自;==>a.p+=2问答-->a.p=4;很自然会选择B但注意f()函数获取参数值的方式是copy给另一个新的变量c(地址!=a的地址)所以c的**成员值变了,而a依然是初始化的值{1,2}所以选D如果想选B的话可以考虑一下把f()改成voidf(拉以湖抓专逐A&c)/*取a式时,值是1,2取b式时,值是2,4*/#include<iostream>structA{intb;intp;};//voidf(Ac)//avoidf(A&c)//b{c.b+=1;c.p+=2;}intmain(){Aa={1,一场2};f(a);printf("%d,%d\n",a.b,a.p);}希望对你有所帮助