這三種有寫(xiě)法是不是等價(jià)
#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
第一個(gè)跟后面兩個(gè)不同,第一個(gè)實(shí)參賦值給形參,形參的改變不影響實(shí)參
2018-06-17
效果是一樣的,但是如果你三個(gè)函數(shù)每個(gè)都加上一句cout<<"x的值為:"<<x<<","<<"y的值為:"<<y<<endl;這樣你就知道哪里不一樣了