问题
填空题
下列程序的输出结果是 【11】 。 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\n",c,d) ; }
答案
参考答案:56
解析:[评析] 本题中a,b,c,d是实参,x, y, cp,dp是形参。C语言规定,实参变量对形参变量的数据传递是“值传递”,即单向传递,只由实参传给形参,而不能由形参传回来给实参。在内存中,实参单元与形参单元是不同的单元。在调用函数时,给形参分配存储单元,并将实参对应的值传递给形参,调用结束后,形参单元被释放,实参中元仍保留并维持原值。因此,程序的输出结果是56。