网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

C语言字符串倒置的递归与非递归解法-创新互联

思路分析

字符串倒置函数的实现,需要我们在函数中使用left、right分别定位字符串的起点、末点,因此我们传参时需要字符串的首地址(str)、字符串的长度(len),将这两个位置的字母互换,然后让left++到字符串下一个地址,right–到字符串末尾的上一个地址,一直重复互换操作,直到不满足left< right,即可实现字符串倒置

站在用户的角度思考问题,与客户深入沟通,找到襄州网站设计与襄州网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计制作、成都网站建设、企业官网、英文网站、手机端网站、网站推广、域名与空间、虚拟主机、企业邮箱。业务覆盖襄州地区。

递归与非递归解法大体的思路是相似的,只不过递归解法中需要考虑如何进行left和right的更新,以此逼近递归条件。

非递归解法
#incldue#includevoid reverse(char* str, int len)
{char* left = str;
	char* right = str + len - 1;
	while (left< right)
	{char tmp = *left;
		*left = *right;
		*right = tmp;
		left++;
		right--;
	}
}
递归解法
char* reverse(char* str, int len)
{if (*str == '\0')  //判断空串
	{return NULL;
	}
	if (len >1)
	{char tmp = *str;
		*str = *(str + len - 1);

		//下一次进入函数时让最后一个字母暂时置为\0,传str + 1
		//也就完成了left++; right--; 的操作
		*(str + len - 1) = '\0';
		reverse(str + 1);
		
		//最后再把置为\0的字母,重复赋值
		*(str + len - 1) = tmp;
	}
	return str;
}

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


网站标题:C语言字符串倒置的递归与非递归解法-创新互联
标题URL:http://bjjierui.cn/article/gjjhp.html

其他资讯