搜索
写经验 领红包
 > 知识

c语言替换字符串(c语言中怎么替换字符串中的字符)

导语:C语言入门:替换字符串中的空格的实现

题目要求:用C语言实现将字符串中的空格替换成“789”。

或许你会觉得,很简单嘛,判断字符串中的每一个字符,如果不是空格不做改变,如果是空格就替换成“789”。哈哈,要是你这么想就上当了!

仔细看题目,是将原来的一个空格替换成“789”三个字符,这里要考虑字符串长度的改变,否则直接替换会把字符串中的正常字符覆盖掉!

比如字符串“a bc”,如果直接把空格替换为“789”,那就会变成“a789”,而不是我们想要的“a789bc”。

我们先分析一下题目,再一步步来解决需求。首先要判断字符串的字符是不是空格,这个很简单,用for或while循环语句依次查看字符串的每个字符即可;然后要将空格替换成“789”,在这里一个空格变成三个字符,所以字符串长度会改变,并且是有一个空格,字符串的长度就要比原来增加2。

所以我们可以这么做:

①先统计出字符串有多少空格,从而得出新字符串的长度

②判断字符串中的每一个字符,如果是空格,就替换为“789”

替换函数如下:

代码相对以往有一点点长,大家结合注释好好看看,代码里我做了详细的解释。一定要理解这种思维

然后通过main函数调用:

以上都是在visualstudio中编写的,最后运行一下:

可以看到,字符串“hello world”被替换为“hello789world”,实现了我们的需求。

这次的代码稍微长了一点,可能有一点不太好理解,核心思想就是先得到空格数,从而确定字符串新长度,然后从后往前判断是否为空格,如果是就替换。

如果还有疑问,可以在评论区提出。

本文内容由小涵整理编辑!