A-A+

下列程序的输出结果是【 】。 int t(int x int y nt cp int dp)

2022-08-12 18:58:08 问答库 阅读 197 次

问题详情

下列程序的输出结果是【 】。 int t(int x,int y,nt 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%dn",c,d); }


请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:56
本题中a,b,c,d是实参,x,y,cp,dp是形参。C语言规定,实参变量对形参变量的数据传递是“值传递”,即单向传递,只由实参传给形参,而不能由形参传回来给实参。在内存中,实参单元与形参单元是不同的单元。在调用函数时,给形参分配存储单元,并将实参对应的值传递给形参,调用结束后,形参单元被释放,实参单元仍保留并维持原值。因此,程序的输出结果是56。

考点:程序