0
点赞
收藏
分享

微信扫一扫

C经典 逆序打印一维数组


/**
int a[5];
获取a[i]的地址方法
1) &a[i];
2) a + i;
3) int *p = a;
p + i;

获取a[i]的值方法
1) a[i];
2) *(a+i);
3) *(p+i);
4) *(&a[i]);
*/
//逆序输出数组
#include <stdio.h>
void reverseArray(int a[], int len){
int *p = a;
int temp;
int i = 0;
int j = len - 1;
while(i < j){
temp = *(p+i);
*(p+i) = *(p+j);
*(p+j) = temp;

}
}
void reverseArray2(int a[], int len){
int *p = a;
int temp;

for (int i = 0, j = len - 1; i < j; i ++, j --) {
temp = *(p+i);
*(p+i) = *(p+j);
*(p+j) = temp;
i ++ , j --;
}
}
int main(int argc, const char * argv[])
{
int a[5] = {1,2,3,4,5};
reverseArray2(a, 5);

for (int i = 0; i < 5; i ++) {
printf("%d\t", a[i]);
}
printf("\n");
return 0;
}


举报

相关推荐

0 条评论