这段代码试图删除字符串中的指定字符,但存在几个问题。
代码的思路是:遍历原字符串,将不等于目标字符的字符存入一个数组 `a`,最后将 `a` 的内容复制回原字符串并打印。但数组 `a` 的定义和使用有错误。
- 数组 `a` 的大小被定义为 `int a[m]={0};`,但此时 `m` 的值为 0,所以数组长度为 0,无法存储任何字符。这会导致程序行为异常。
- 另外,`a` 被声明为 `int` 类型,但存储的是字符,类型不匹配。
- 循环条件中检查了 `s[n]!='.'`,这会让字符串遇到句点就停止处理,可能不是你的本意。
- 最后打印时,每次循环都打印一个字符,但原字符串中未被覆盖的位置可能残留旧字符。