C语言的参数传递类型

考题一

void Exchg1(int x, int y)
{
   int tmp;
   tmp = x;
   x = y;
   y = tmp;
   printf("x = %d, y = %d\n", x, y);
}
main()
{
   int a = 4,b = 6;
   Exchg1(a, b);
   printf("a = %d, b = %d\n", a, b);
   return(0);
}


输出的结果为:
x = __6__, y=__4__.
a = __4__, b=__6__.


考题二,程序代码如下:

void Exchg2(int *px, int *py)
{
   int tmp = *px;
   *px = *py;
   *py = tmp;
   printf("*px = %d, *py = %d.\n", *px, *py);
}
main()
{
   int a = 4;
   int b = 6;
   Exchg2(&a, &b);
   printf("a = %d, b = %d.\n", a, b);
   return(0);
}


输出的结果为为:
*px=__6__, *py=__4__.
a=__6__, b=_4___.
问下划线的部分应是什么,请完成。

考题三,程序代码如下:

void Exchg3(int &x, int &y)
{
   int tmp = x;
   x = y;
   y = tmp;
   printf("x = %d,y = %d\n", x, y);
}
main()
{
   int a = 4;
   int b = 6;
   Exchg3(a, b);
   printf("a = %d, b = %d\n", a, b);
   return(0);
}


输出的结果为:
x=__6__, y=__4__.
a=__6__, b=__4__.

猜你喜欢

转载自blog.csdn.net/yxpandjay/article/details/81414509