当前位置:蜗牛素材网>综合资讯>图文>正文

c语言使用指针逆序存放数组元素值 C语言100题集合018-用指针实现逆序存放数组元素的值

人气:448 ℃/2023-12-06 18:36:53

系列文章《C语言经典100例》持续创作中,欢迎大家的关注和支持。

喜欢的同学记得点赞、转发、收藏哦~

后续C语言经典100例将会以pdf和代码的形式发放到公众号

欢迎关注:计算广告生态 即时查收

1 题目

函数:invert()

功能:用指针实现逆序存放数组元素的值

描述:使用指针将数组中的元素值逆序放置,并且将结果打印出来

2 思路1. 程序变量中两个数字进行交换的三种方法

第一种:引入一个中间量

temp=a;a=b;b=temp;

第二种:要注意的是a b可能会超过int的范围,这个是该方法的缺点

a=a b;b=a-b;a=a-b;

第三种:这种方法效率最高,推荐使用

a=a^b;b=a^b;a=a^b;2. 指针的使用

使用指针对数组内容进行操作,数组 a, a 指向数组首位置,a N-1 指向最后一位。从而利用循环对数组的首尾数字逐个替换

3 代码

#include<stdio.h>#include<stdlib.h>#defineN10/**函数:invert()功能:用指针实现逆序存放数组元素的值描述:使用指针将数组中的元素值逆序放置,并且将结果打印出来**/voidinvert(int*a){int*begin,*end,mid;//定义首尾指针begin=a;end=a N-1;mid=(N-1)/2;//中间位置inttemp;for(inti=0;i<=mid; i){//循环,首尾指针内容变换//temp=*begin;//*begin=*end;//*end=temp;*begin=*begin^*end;*end=*begin^*end;*begin=*begin^*end; begin;--end;}}intmain(intargc,charconst*argv[]){inta[N]={1,2,3,4,5,6,7,8,9,10};printf("当前数组中的值为:");for(inti=0;i<N; i){printf("%d",*(a i));}printf("\n");invert(a);printf("使用指针逆序后数组中的值为:");for(inti=0;i<N; i){printf("%d",*(a i));}printf("\n");}

示例结果:

$gccex018.c-odemo$./demo当前数组中的值为:12345678910使用指针逆序后数组中的值为:10987654321

--END--

喜欢本文的同学记得点赞、转发、收藏~

更多内容,欢迎大家关注我们的公众号:计算广告生态

后续C语言经典100例将会以pdf和代码的形式发放到公众号

同时也带来更多系列文章以及干货❤️!

搜索更多有关“c语言使用指针逆序存放数组元素值 C语言100题集合018-用指针实现逆序存放数组元素的值”的信息 [百度搜索] [SoGou搜索] [头条搜索] [360搜索]
本网站部分内容、图文来自于网络,如有侵犯您的合法权益,请及时与我们联系,我们将第一时间安排核实及删除!
CopyRight © 2008-2024 蜗牛素材网 All Rights Reserved. 手机版