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基础课程》。