有以下程序: void f(int y,int *x) { y=y+*x; *x=*x+y; } main() { int x=2,y=4; f(y,&x); printf("%d %d\n",x,y);

admin2009-01-15  18

问题 有以下程序:
   void f(int y,int *x)
   {  y=y+*x;  *x=*x+y;  }
   main()
   {  int x=2,y=4;
   f(y,&x);
   printf("%d  %d\n",x,y);
   }
   执行后输出结果是上【  】。

选项

答案8 4

解析 函数f(y,*x)的作用是让y的值加上指针x所指向变量的值,让指针x所指向变量的值加上y的值。由于形参y是传值的,形参x是传地址的,故调用该函数后,作为实参的y的值将不改变,而实参x的值将改变,故最后输出的y的值为4,而x的值为8。
转载请注明原文地址:https://kaotiyun.com/show/WQXp777K
0

最新回复(0)