C++【求逆序数The Number of Inversions】如1234的逆序数为4321;

发布于:2023-01-13 ⋅ 阅读:(157) ⋅ 点赞:(0)
/*求整数n的逆序数并返回,如1234的逆序数为4321;*/
#include<iostream>
using namespace std;
long int inverse(long int x);
int main()
{
	long int x;
	cin>>x;
	inverse(x);
	return 0;
}
long int inverse(long int x)
{
	if(x==0)
	{
		cout<<endl;
		return 0;
	}
	else
	{
		cout<<x%10;
		inverse(x/10);
	}	//递归方法求得逆序
	return 0;
}

在这里插入图片描述

注意

以下,是我犯过的一个错误

在这里插入图片描述

可以看到“[警告] 控制到达非void函数的末尾[-Wreturn-type]
(warning: control reaches end of non-void function)”
意思是你定义的函数本应是带有返回值的,但执行到函数末尾好像没有。
原因是子函数中虽然有返回值,但没有找到,
试想一下如果if else中的条件都不满足,最终这个子函数执行到末尾岂不是找不到返回值,所以会出现此warning。
如果我们在最后加上一个return 0,warning就会消失。

若要实现同样效果请看前文: C++程序设计基础之基于Dev-Cpp的环境搭建


版权声明:本文为CSDN博主「 Apollo-007」的原创文章,

遵循CC BY-NC-SA 4.0版权协议,转载请附上原文出处链接及本声明。

原文链接: https://apollo.blog.csdn.net/article/details/125312066


网站公告

今日签到

点亮在社区的每一天
去签到