一、標准交換模式
/****
*標准交換模式
*實現數組的逆序,原理就是數組的首尾元素進行交換
***/
#define N 5;
int main(){
int array[N] = {15,20,25,30,35}
int temp; //聲明臨時變量
int i;
for(i = 0;i<N/2;i++){
//第i個值和第N-i-1個值相交換
temp = array[i];
array[i] = array[N - i - 1];
array[N - i - 1] = temp;
}
printf("逆序:\n");
for(i = 0;i < N;i++){
printf("%d\t",*(array + i));
}
}
二、指針交換模式
/****
*指針交換模式
*實現數組的逆序,原理就是數組的首尾元素進行交換
***/
#define N 5;
int main(){
int array[N] = {15,20,25,30,35}
int temp; //聲明臨時變量
int i;
int *ptr_array_start = array;
int *ptr_array_end = array + N - 1;
while(ptr_array_start>=ptr_array_end){
//首尾交換,指針分別進行更新
temp = *ptr_array_start;
*ptr_array_start = *ptr_array_end;
*ptr_array_end = temp;
//首元素指針要向后移動
ptr_array_start++;
//末元素指針要向前移動
ptr_array_end--;
}
printf("逆序:\n");
for(i = 0;i < N;i++){
printf("%d\t",*(array + i));
}
}