R语言 properties 百度搜索优化 ios d3 uwp split stack rspec reference requirejs vue响应式 angularjs教程 idea生成main方法 删除数组第一个元素 oracle重命名表名 oracle创建唯一索引 python爬虫包 mysql时间戳转时间 mysql 选择数据库 安装python教程 python自学教材 python网页编程 javaswitch java字符串 java中substring java连数据库 java语言编程 网页游戏代码 java网络编程 sql语句大全实例教程 信息系统项目管理师教程 ps插入表格 迅雷去广告版 战斗的召唤 u盘系统下载 java表白代码 vbs代码 古特里克的杀生刀 卸载mysql
当前位置: 首页 > 学习教程  > 编程学习

程序员面试题精选--从头到尾输出字符串

2021/1/9 2:01:50 文章标签: 托尔达戈怎么去

此题是从逆序输出链表变种而来,见何海涛日志http://zhedahht.blog.163.com/ 1.逆序输出一个字符串,如"hello world!"输出为“!dlrow olleh”. 2.计算一个字符串的长度,要求函数中不能声明任何变量。 此题简单,在这…

此题是从逆序输出链表变种而来,见何海涛日志http://zhedahht.blog.163.com/

1.逆序输出一个字符串,如"hello world!"输出为“!dlrow olleh”.

2.计算一个字符串的长度,要求函数中不能声明任何变量。

此题简单,在这里我们主要强调用递归的方法。

代码如下:

#include<iostream>
using namespace std;

//倒序输出字符串,递归实现 
void ReversePrintString(char *str)
{
	if(!str)
		return;
	
	if(*str != '\0')
	{
		ReversePrintString(str+1);
		cout<<*str;
	}
}

//求字符串长度,函数内不能声明任何变量
unsigned int GetLength(char *str)
{
	if(!str)
		return 0;
		
	if(*str == '\0')
		return 0;
	return GetLength(++str) + 1;
} 

int main()
{
	char *str = "hello world!";
	cout<<GetLength(str)<<endl;
	ReversePrintString(str);
	cout<<endl;
	system("pause");
	return 0;
}




本文链接: http://www.dtmao.cc/news_show_1100226.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?