这段代码试图读取一行字符串,然后反向输出它。但输出结果会多出一个字符。 - 第一个while循环读取字符直到换行符,但getchar()返回的是int类型,用char类型变量c接收可能会在某些情况下出问题,不过这不是主要错误。 - 第二个while循环计算字符串长度,但k最终会停在字符串结束符'\0'的位置,而不是最后一个字符的位置。 - 第三个while循环从k开始输出,而k此时指向的是'\0',所以会先输出一个空字符(不可见),然后才输出真正的字符。你应该让k指向最后一个字符,而不是结束符。