服务器之家

服务器之家 > 正文

C语言面试C++字符串替换空格示例

时间:2022-01-17 14:45     来源/作者:小码农UU

字符串替换空格(多换一)

面试题:

C语言面试C++字符串替换空格示例

面试题需要考虑规范,算法,代码,可移植性,还有鲁棒性等,考虑了这些之后再下手就会很舒服

首先我看到是%20替换空格,万一面试官说换其他的然后你很快的改了出来这也是一种本事,所以函数是必不可缺的,也最好有人机交互的样子,反正他有没有说写死.

代码

这里时间复杂度也是O(n),鲁棒性也不错,基本是可以拿下offer的代码

#include<stdio.h>
#include<assert.h>
#include<string.h>
char* replace(char* parr, const char* e1, const char* e2)
{
	assert(e1 && e2);
	char arr2[100] = { 0 };//创建一个数组用来存改变后的字符串
	unsigned int len = strlen(parr);
	unsigned int len1 = strlen(e1);
	unsigned int len2 = strlen(e2);
	int i = 0;//用来跟踪parr
	int j = 0;//用来跟踪arr2
	int z = 0;//用来跟踪e2
	for (i = 0; i < len; i++)
	{
		if (parr[i] != *e1)
		{
			arr2[j++] = *(parr+i);
		}
		else
		{
			for (z = 0; z < len2; z++)
			{
				arr2[j++] = *(e2 + z);
			}
		}
	}
	return arr2;
}


int main()
{
	char arr[100] = { 0 };//给足空间
	while (1)
	{
		printf("请输入原字符串:>");
		gets(arr);
		printf("改变后的字符串为:>%s\n", replace(arr, " ", "%20"));
	}
	return 0;
}

结果

C语言面试C++字符串替换空格示例

以上就是C语言面试C++字符串替换空格示例的详细内容,更多关于C语言编程C++字符串替换空格的资料请关注服务器之家其它相关文章!

原文链接:https://blog.csdn.net/diandengren/article/details/120229450

标签:

相关文章

热门资讯

蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整 2021-08-24
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
2021年耽改剧名单 2021要播出的59部耽改剧列表
2021年耽改剧名单 2021要播出的59部耽改剧列表 2021-03-05
返回顶部