指針帶來的問題
void swap(int *a, int *b){
int *t;
*t = *a;
*a = *b;
*b = *t;
}
int *t之後沒有進行初始化,作爲變量t,t不初始化會得到一個不確定的值,當t所表示的地址值恰好不被允許寫入的時候(比如 t= 0時),*t = *a就會產生錯誤。
void swap(int *a, int *b){
int *t;
*t = *a;
*a = *b;
*b = *t;
}
int *t之後沒有進行初始化,作爲變量t,t不初始化會得到一個不確定的值,當t所表示的地址值恰好不被允許寫入的時候(比如 t= 0時),*t = *a就會產生錯誤。