gets  scanf

想要读取空格时要使用gets()

scanf是读取到空白字符截断的,不能读取空格。故应该使用gets。

gets的用法:

gets(str);,遇到\n或EOF结束,将'\n‘转化为字符串末尾的'\0','\n'不保留在输入流中。成功时返回值为str,失败或者遇到EOF时返回NULL

scanf gets 对比:

  gets可以接收空格;而scanf遇到空格、回车和Tab键都会认为输入结束,所有它不能接收空格。

  scanf :当遇到回车,空格和tab键会自动在字符串后面添加'\0',但是回车,空格和tab键仍会留在输入的缓冲区中。

  gets:可接受回车键之前输入的所有字符,并用'\n'替代 '\0'.回车键不会留在输入缓冲区中

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容