大风车 发表于 2008-7-31 10:54

怎么想也想不明白的一道C选择题

int t(int x,int y,int cp,int dp)
{cp=x*x+y*y;
dp=x*x-y*y;
}
main()
{int a=4,b=3,c=5,d=6;
t(a,b,c,d);
printf(“%d %d\n”,c,d);
A 4 5 ;B 4 6; C 5 6; D 5 5;
答案是什么?为什么?cp的意思是c乘以p吗?搞不明白哦!?

StarWing83 发表于 2008-7-31 10:55

一眼扫过去:C

xiaomengxia2008 发表于 2008-7-31 11:00

参数传递问题要理解透彻

ONEPROBLEM 发表于 2008-7-31 11:02

cp的意思是c乘以p吗?
=======================
呵呵~~有意思.建议LZ先看看书比较好.应该在"函数调用"之类的章节吧.

coming 发表于 2008-7-31 11:21

晕 cp怎么回是俩个的乘积呢 好好看看书哦 搞清楚什么是形参 和实参

大风车 发表于 2008-7-31 11:29

谢谢啊,二楼的能不能帮我解释一下啊~~答案的确是C啊!!

大风车 发表于 2008-7-31 11:31

回复 5# coming 的帖子

形参和实参我明白啊,我只是这里有个疑问想弄懂而已。见笑了!

peach5460 发表于 2008-7-31 11:56

C...绝对的C

tyyy 发表于 2008-7-31 11:57

这里调用函数不起作用
对最后输出没影响

ONEPROBLEM 发表于 2008-7-31 12:34

1、答案是C;
2、因为:printf(“%d %d\n”,c,d);要求输出的是:c d 的值;如果要求输出的是 t ,那结果就不一样了。
3、cp的意思是:cp=x*x+y*y;它的值是由x和y决定的;
4、多看书就搞明白了。[em12]

pclab 发表于 2008-8-6 13:14

C 5 6;


函数t
只是改变了形参  实参没变啊

xujun1207 发表于 2008-8-6 13:22

同意10楼的说法,程序序只要求你得到C和d的值,CP你在之前不是声明了吗?

页: [1]

编程论坛