问题遇到的现象和发生背景 引用型参数运行结果整数不交换
问题相关代码
#include<stdio.h>
int temp;
//指针型形参
int swap1(int *a,int*b)
{
temp=*a;
*a=*b;
*b=temp;
}
//引用型形参
int swap2( int&a,int&b)//c++中形参前的"&"符号不是指针运算符,而是引用
{
temp=a;
a=b;
b=temp;
}
int main()
{
int x,y;
printf("Please input two numbers:");
scanf("%d,%d\n",&x,&y);
swap1(&x,&y); //此处需要传参
printf("指针型参数输出:%d,%d\n",x,y);
swap2(x,y);
printf("引用型参数输出:%d,%d\n",x,y);
}