关于反序函数的简单介绍与快速上手(倒序输出,逆序输出,反序输出)

在学习c语言的过程中,我们有时会碰到需要将一个数进行逆序输出,比较常规的办法是将元素储存在数组中并借助循环将其倒序,考虑到许多初学者还未学习到数组的板块,这里介绍一个新的方法,就是创建一个函数,而且使用起来非常的简单!

首先来看一下函数的代码:

 

int reverse_order(int x)
{
  int reverse_order = x % 10;

  x = x / 10;
  while (x) {
    reverse_order = reverse_order * 10;
    reverse_order = reverse_order + (x % 10);
    x = x / 10;
  }
  return reverse_order;
}

reverse函数是比较后面的内容,初学者可以暂时不去深究,只用理解它的用法即可

PS:reverse后面的只是函数的名称,用来区分用的,在创建时也可以简短一点,比如reverse1

比如说我们想输出一个整数m的倒序数字,那么只需要在printf("%d",m);中的m换成reverse(m)即可

我们现在来看一个简单的例子:

请将872,18724,10000倒序输出

代码如下:

#include <stdio.h>

int reverse1(int x)
{
  int reverse1 = x % 10;

  x = x / 10;
  while (x) {
    reverse1 = reverse1 * 10;
    reverse1 = reverse1 + (x % 10);
    x = x / 10;
  }
  return reverse1;
}


int main()
{
 int a;
 scanf("%d",&a);
 printf("%d",reverse1(a)); 
    

    
  return 0;
}

 

这里要特别注意,如果数字的末位是0,那么在倒序输出时就会将0给去除!!

现在我们来讲解一下这个函数,首先我们要先知道一件事情,就是在c语言里面,0为假,其余都为真,如果出现了while(m)(m!=0)的情况,则表示一定会进入这个循环,如果出现while(0)的情况,则终止循环。

现在我们以123这个数为例。

reverse1是一个整形变量,一开始赋值给它的就是3

然后我们将123除以10拿到了12,while(12)为真,进入循环。

首先执行第一步,3乘以10变成了30

再执行第二步,30加上12余10变成了32

最后是第三步,12/10剩下一个1,1为真,所以继续循环

到了第二次循环,此时reverse1是32

第一步,乘以10变成了320

第二步,320加上了1%10,也就是1,变成了321,

第三步,1/10=0,此时0为假,所以就终止循环

最后return reverse1就将所输出的数归还给我们的变量

其他比较高位的数也是一个道理,这里就不多赘述了。

希望对大家有帮助!!!

PS:可以给个免费的赞吗

  • 15
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值