想要读取空格时要使用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'.回车键不会留在输入缓冲区中