关于c语言中getchar()的使用问题

今天学习C语言的时候发现一点问题

在用getchar()!=‘\n’做为结束时程序不会报错,但是运行会出现问题;


关于c语言中getchar()的使用问题

原因:

getchar()是到输入缓冲区读取第一个字符,每一次调用将会消耗缓冲区的一个字节;

首先,从键盘输入许多字符,最后回车后,所有字符包括回车放到缓冲区这时才开始循环执行getchar(),读入一个字符判断是否回车,不是就继续读,是回车就退出循环(是因为它取的始终是缓冲区中第一个字符,每取一个缓冲区的字符少一个)

写成下面形式就可以做到回车结束;↓

关于c语言中getchar()的使用问题