這三種有寫法是不是等價
#include<iostream>
#include<stdio.h>
using namespace std;
void ?fun1(int a ,int b )
{
cout<<a<<b;
int c ;
c = a ;
a = b;
b = c;
cout<<a<<b;
}
//引用?
void fun2(int &a, int &b)
{
cout<<a<<b;
int c ;
c = a ;
a = b;
b = c;
cout<<a<<b;
}
//指針?
void fun(int *a ,int *b)
{
cout<< *a<< *b;
int c;
c = *a;
*a = *b;
*b=c;
cout<< *a<< *b;
}
int main(){
? ?int ?x =1 ,y =2;
? ?//fun1(x,y);
? ?//fun2(x,y);
? ?fun(&x,&y);
}
2019-03-21
第一個跟后面兩個不同,第一個實參賦值給形參,形參的改變不影響實參
2018-06-17
效果是一樣的,但是如果你三個函數每個都加上一句cout<<"x的值為:"<<x<<","<<"y的值為:"<<y<<endl;這樣你就知道哪里不一樣了