一个小程序引发对于C语言指针的思考:
#include <bits/stdc++.h>
using namespace std; void my_swap (int* a,int* b) {
cout<<*a<<" "<<*b<<endl;
int *tmp=a;
a=b; b=tmp;
cout<<*a<<" "<<*b<<endl;
int main ()
{ int a=,b=;
my_swap(&a,&b);
cout<<a<<endl;
return ;
}
猜猜结果是什么:
3 4
4 3
3 !!!
哎 明明a指针指向的内容变了啊
怎么还是3
希望你真正明白按值传递和按指针传递 !!!