繁体   English   中英

在 c 中获取输入字符串

[英]Take input string in c

要在 c 中获取输入字符串,我们可以选择 2 种方式(据我所知,如果我遗漏了什么,请添加更多

char name[10];
scanf(" %s",name); // First case
scanf("%[\n]s",name); // Second case

第一个将考虑字符串直到第一个空格,第二个将整个句子直到换行符作为字符串但要输入我们需要即兴创作第二个语句

scanf(" %[\n]s",name);

我的问题是这里的额外间距是什么? 因为有时我的编译器会正常运行,即使我将从 scanf 语句中删除 's' 并且在 '%' 之前没有额外的空格,但有时它不会工作。

%运算符之前的空格将删除输入字符串之前的任何空格,以及%运算符之后的格式说明符对输入的任何影响。

例如:用" %[^\\n]"输入的“\\n\\t Hello World " %[^\\n]"将被记录为“Hello World”。

如果空白字符留在第一个输入流中并被下一个输入scanf错误读取:要从输入流中删除空白字符,请在格式字符串前使用空格或使用fflush (stdin) 函数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM