下列程序的输出结果是【 】。 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

admin2009-04-15  23

问题 下列程序的输出结果是【  】。
   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。
转载请注明原文地址:https://kaotiyun.com/show/OOXp777K
0

随机试题
最新回复(0)