📜  scanf(“%[^ \ n] s”,str)Vs在C语言中获取(str)与示例(1)

📅  最后修改于: 2023-12-03 15:19:59.300000             🧑  作者: Mango

了解 scanf("%[^ \n]s", str)

scanf("%[^ \n]s", str) 是 C 语言中一种读取用户输入的方式。它的作用是在输入数据时排除掉所有空格和换行符,只读取其他字符。以下是代码片段的示例:

char str[100];
scanf("%[^ \n]s", str);
printf("输入的字符串是:%s", str);

在这个例子中,%[^ \n]s 表示读取所有非空格和非换行符的字符并把它们存储在 str 中,直到遇到空格或换行符为止。

由于该方法只读取单行输入,因此适用于读取用户输入的一行文本。fgets() 函数可以用于多行输入的情况,其语法为:

fgets(str, sizeof(str), stdin);

无论是 scanf() 还是 fgets() 都需要以换行符 '\n' 结束用户输入。如果用户没有在输入中输入换行符,程序会一直等待用户输入该字符。因此,如果您使用 scanf() 方法来输入字符,一定要注意输入换行符。

要了解更多有关 C 语言中的输入函数的信息,请阅读有关 scanf()fgets() 的官方文档。

参考资料:

  • C语言中的输入函数 – scanf() 和 fgets():https://www.programiz.com/c-programming/c-input-output