一个小程序引发对于C语言指针的思考:

  

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 
 4 void my_swap (int* a,int* b) {
 5     cout<<*a<<" "<<*b<<endl;
 6     int *tmp=a;
 7     a=b; b=tmp;
 8     cout<<*a<<" "<<*b<<endl;
 9 int main ()
10 {
11     
12     int a=3,b=4;
13     my_swap(&a,&b);
14     cout<<a<<endl;
15     return 0;
16 }

猜猜结果是什么:

3 4

4 3

3 !!!

哎 明明a指针指向的内容变了啊

怎么还是3 

希望你真正明白按值传递和按指针传递 !!!