C語言的參數傳遞為以值傳遞(passed by value),若需達到以址傳遞(passed by address)
則必須利用些技巧(如"&")。考慮下列程式片段,並求出swap()執行後變數left 及
right 的值各為多少?
void main( ){
int left = 2, right = 5;
swap(left, right);
}
void swap(int a, int b){
int temp;
temp = a;
a = b;
b = temp;
}(10 分)
void main( ){
int left = 2, right = 5;
swap(&left, & right);
}
void swap(int *a, int *b){
int temp;
temp = *a;
*a = *b;
*b = temp;
} (10 分)