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'.回车键不会留在输入缓冲区中

你可能感兴趣的:(gets scanf)