这段代码试图反转一个字符数组并打印,但存在几个问题。 首先,数组 `m` 没有被初始化,也没有输入任何数据,所以它里面是未定义的值。代码中第一个循环用 `m[i]!='\0'` 来统计长度,但数组未初始化,这个条件可能永远不成立或提前结束,导致 `sum` 的值不可预测。 其次,反转后的打印使用了 `%d` 格式符,这会打印字符的ASCII码数值,而不是字符本身。 - 你需要先给数组 `m` 输入字符串,例如使用 `scanf` 或 `gets`。 - 统计字符串长度应该使用 `strlen` 函数(需要包含 `<string.h>`),或者先输入再手动统计。 - 打印字符时应该用 `%c` 而不是 `%d`。