c语言字符串中字符无效问题

img


题目是实现一个函数,把字符串 s 中的每个空格替换成"%20"。
我的想法是先统计出有i个空格和有j个其他字符,然后开辟出3*i+j个空间。最后赋值操作。但是调试时候会显示字符串中字符无效是怎么回事?

img

while第一个if中,s赋值后是不是也要移动一下呢。

你可以参考下这篇文章:C语言在字符串中查找字符串