1 getchar()
getchar接受一个字符 可输入任何字符 结束标志由自己决定,需在后面手动补全'\0'
输入 :abcd d 打印:6
2 fgets()
fgets(); 函数原型 char *fgets(char *str, int n, FILE *stream)
输入读取(n - 1)个字符 ,遇到'\n'时结束,并且在'\n'之后自动补全'\0' 但是会把'\n'也作为一个字符接收,所以打印会莫名其妙多个换行。打印长度时要减1 因为他会把'\n'也当成一个字符也算进去。
输入abc d*d 打印:7
3 scanf()
scanf 遇到空格回车tab 都会被认为是输入结束 所以不能输入空白字符。自动补全'\0'
输入:abc 打印:3
输入:abc c (输入错误,中间有空格会默认输入结束) 打印:3 (遇到空格结束,则空格键和c没有录入)。
4 gets()
遇到换行符和EOF时结束,需要注意的是,gets() 虽然也会将换行符读入,但是却不作为字符串的内容。与fgets有所不同,结束时仍在后面自动补全'\0'
输入:abc c 打印:5