指针实现数组的逆序存放并输出

题目:用指针实现数组的逆序存放并输出

方法一:

#include<stdio.h>

int main()

{

int arr[10] = {0};

int i;

//计算数组元素的个数

int n = sizeof(arr)/sizeof(int);

printf("请输入10个数字为数组赋值:");

//为数组赋值

for(i=0;i<n;i++)

{

scanf("%d",&arr[i]);

}

//打印原始数组

for(i=0;i<n;i++)

{

printf("%d ",arr[i]);

}

printf("\n");

putchar('\n');

//定义指针变量

int *left = &arr[0];

int *right = &arr[n-1];

//利用指针的解引用操作交换数组首尾元素的值

for(i=0;i<(n/2);i++)

{

int temp = *left;

*left = *right;

*right = temp;

left++;

right--;

}

//打印交换后的数组

for(i=0;i<n;i++)

{

printf("%d ",arr[i]);

}

putchar('\n');

return 0;

}


方法二:

#include<stdio.h>

int main()

{

int arr[10] = {0};

int i;

//计算数组元素的个数

int n = sizeof(arr)/sizeof(int);

printf("请输入10个数字为数组赋值:");

//为数组赋值

for(i=0;i<n;i++)

{

scanf("%d",&arr[i]);

}

//打印原始数组

for(i=0;i<n;i++)

{

printf("%d ",arr[i]);

}

printf("\n");

putchar('\n');

//定义指针变量

int *left = &arr[0];

int *right = &arr[n-1];

//利用指针的解引用操作交换数组首尾元素的值

while(left<right)

{

int temp = *left;

*left = *right;

*right = temp;

left++;

right--;

}

//打印交换后的数组

for(i=0;i<n;i++)

{

printf("%d ",arr[i]);

}

putchar('\n');

return 0;

}


程序运行结果:

相关推荐
FS_tar1 小时前
高斯消元矩阵
c++·算法·矩阵
小蝙蝠侠1 小时前
安德烈·卡帕西:深入探索像ChatGPT这样的大语言模型内容列表
人工智能·算法·机器学习
闻缺陷则喜何志丹1 小时前
【贪心之临项交换】P8732 [蓝桥杯 2020 国 ABC]|普及
c++·算法·蓝桥杯·贪心·洛谷
而后笑面对2 小时前
关于力扣2025.10.4每日 11.盛最多雨水的容器
算法·leetcode·职场和发展
UrbanJazzerati2 小时前
考研数学:数轴根法(穿根法)——高效求解高次不等式的利器
算法
可触的未来,发芽的智生2 小时前
新奇特:负权重橡皮擦,让神经网络学会主动遗忘
人工智能·python·神经网络·算法·架构
Yupureki2 小时前
从零开始的C++学习生活 1:命名空间,缺省函数,函数重载,引用,内联函数
c语言·开发语言·c++·学习·visual studio
UrbanJazzerati3 小时前
考研数学:使用有理根定理和多项式除法来解一元多次整系数方程
算法
点云侠3 小时前
PCL 生成缺角立方体点云
开发语言·c++·人工智能·算法·计算机视觉
9毫米的幻想3 小时前
【Linux系统】—— 程序地址空间
java·linux·c语言·jvm·c++·学习