#include<stdio.h>
int temp;
//指针型形参
void swap1(int *a,int*b)
{
temp=*a;
*a=*b;
*b=temp;
}
//引用型形参
void 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",&x,&y);
swap1( &x,&y); //此处需要传参
printf("指针型参数输出:%d,%d\n",x,y);
printf("Please input two numbers:");//输入引用型实参
scanf("%d,%d",&x,&y);
swap2( x,y);
printf("引用型参数输出:%d,%d\n",x,y);
}
总结:
- int &a在c++中是引用运算符
- 引用函数swap()时记得在()内传参
- 没有进行两次输入实参,使得第一次输入的实参进行了两次交换