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

📅  最后修改于: 2021-05-25 23:35:50             🧑  作者: Mango

gets()

  • gets是读取包含空格的文本字符串的一种更方便的方法。
  • 与scanf()不同,它不会跳过空格。
  • 它用于读取输入,直到遇到换行符。

%[^ \ n]

  • 这是一个编辑转换代码。
  • 编辑转换代码%[^ \ n]可以用作gets的替代方法。
  • C使用scanf()函数支持此格式规范。
  • 此编辑转换代码可用于读取包含字符(如变量,甚至是空格)的行。
  • 通常,具有%s之类的格式规范和具有%ws形式的字段宽度的规范的scanf()函数可以只读字符串,直到非空白部分为止。
  • 这意味着它们不能用于阅读包含多个单词的文本,尤其是在使用空格时。

gets()和%[^ \ n]之间的差异和相似性表

gets() %[^\n] 
gets() is used to read strings %[^\n] is an edit conversion code used to read strings
Unlike scanf(), gets() reads strings even with whitespaces %[^\n] also reads strings with whitespaces
when it reads a newline character then the gets() function will be terminated %[^\n] also terminates with a newline character
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。