用户输入一个句子(字符串)。 C语言中如何完成回车输入?

User inputs a sentence (string). How to finish the input with Enter in C?

我尝试了不同类型的字符串输入(scanf、getchar、gets),但其中none可以通过回车完成输入。你们有什么想法吗?

正如 Cheatah 所说,您要查找的函数是 fgets()。始终尽量避免使用 gets(),因为它不提供针对缓冲区溢出漏洞的保护措施,并可能在您的程序中导致大问题。您可以阅读此问题的一些答案以阐明每个功能的用途 Scanf() vs gets() vs fgets()

#include <stdio.h>

char str[20];  // String with 19 characters (because last character is null character)

int main() {   
    fgets(str, 20, stdin);  // Read string
    puts(str);  // Print string
    return 0;
}