想要讀取空格時要使用gets()
scanf是讀取到空白字符截斷的,不能讀取空格衩辟。故應該使用gets绎晃。
gets的用法:
gets(str);,遇到\n或EOF結(jié)束椎镣,將'\n‘轉(zhuǎn)化為字符串末尾的'\0'诈火,'\n'不保留在輸入流中。成功時返回值為str状答,失敗或者遇到EOF時返回NULL
scanf gets 對比:
gets可以接收空格冷守;而scanf遇到空格、回車和Tab鍵都會認為輸入結(jié)束惊科,所有它不能接收空格拍摇。
scanf :當遇到回車,空格和tab鍵會自動在字符串后面添加'\0'馆截,但是回車充活,空格和tab鍵仍會留在輸入的緩沖區(qū)中。
gets:可接受回車鍵之前輸入的所有字符蜡娶,并用'\n'替代 '\0'.回車鍵不會留在輸入緩沖區(qū)中