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

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

方法一:

#include<stdio.h>

int main()

{

int arr10 = {0};

int i;

//计算数组元素的个数

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

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

//为数组赋值

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

{

scanf("%d",&arri);

}

//打印原始数组

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

{

printf("%d ",arri);

}

printf("\n");

putchar('\n');

//定义指针变量

int *left = &arr0;

int *right = &arrn-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 ",arri);

}

putchar('\n');

return 0;

}


方法二:

#include<stdio.h>

int main()

{

int arr10 = {0};

int i;

//计算数组元素的个数

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

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

//为数组赋值

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

{

scanf("%d",&arri);

}

//打印原始数组

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

{

printf("%d ",arri);

}

printf("\n");

putchar('\n');

//定义指针变量

int *left = &arr0;

int *right = &arrn-1;

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

while(left<right)

{

int temp = *left;

*left = *right;

*right = temp;

left++;

right--;

}

//打印交换后的数组

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

{

printf("%d ",arri);

}

putchar('\n');

return 0;

}


程序运行结果:

相关推荐
xiaokcehui5 分钟前
地球物理大地测量学计算系列之十七局部重力场SRBF逼近及其性能指标测评
人工智能·算法·机器学习
布莱克60533 分钟前
队列详解:定义、分类、应用场景及与栈的区别(C/C++ 代码讲解)
c语言·开发语言·c++·队列
CPETW34 分钟前
USB TO I2C_(Excel)_Scan ---- 1000KHz总线速率测试_A
c语言·开发语言·网络·科技·单片机
Navigator_Z34 分钟前
LeetCode //C - 1221. Split a String in Balanced Strings
c语言·算法·leetcode
天疆说44 分钟前
庞特里亚金极小值原理的详细推导
算法
余俊晖1 小时前
Self-OPD:去掉教师机的流匹配模型 On-Policy 蒸馏
人工智能·算法·机器学习
手写码匠1 小时前
华为云Flexus+DeepSeek征文|华为云MaaS DeepSeek推理服务 × Flexus云服务器 × Dify一键部署:性能评测实战
人工智能·深度学习·算法·aigc
en.en..2 小时前
C语言 static函数与头文件封装规范
java·c语言·前端
啥都想学点的研究生2 小时前
一篇文章讲清楚:逻辑回归
算法·机器学习·逻辑回归
布莱克6052 小时前
栈(Stack)详解:定义、作用、应用场景及与队列的区别(附 C/C++ 代码)
c语言·开发语言·c++·