这段代码试图实现一个字符串压缩功能:将连续重复的字符替换为“字符+重复次数”的形式。例如 "aaaaabbbc." 应该变成 "a5b3c1."。但代码存在几个问题。 - 你的 `sprintf` 每次都会把 `answer` 当前的内容追加到自身,但 `answer` 没有被初始化,第一次使用时内容不确定,会导致结果混乱。你应该先让 `answer` 成为一个空字符串。 - 外层循环的条件是 `s[i] != '.'`,但内层循环结束后,如果遇到 `'.'` 会退出,但此时 `'.'` 本身没有被处理。你需要考虑如何处理字符串末尾的终止符或句点。 - 最后将 `answer` 复制回 `s` 时,你用了 `answer[i]!='.'` 作为循环条件,但 `answer` 中可能没有 `'.'`,这会导致循环越界。你应该用 `answer` 的实际长度来控制复制。