这段代码的功能是:从输入中读取字符,遇到句点 '.' 时停止,然后逆序输出之前读取的所有字符(不包括句点本身)。它通过递归实现:每次递归调用先读取下一个字符,等递归返回后再打印当前字符,从而实现了逆序效果。 - 注意递归的终止条件:当读取到 '.' 时,函数直接返回,不再继续递归,也不打印 '.'。但这里有一个潜在问题:如果输入中没有 '.',递归会无限进行下去,最终导致栈溢出。 - 另外,scanf 读取字符时可能会受到输入缓冲区中换行符的影响,比如在输入完字符后按回车,换行符会被当作一个字符读入,这可能导致意外的行为。