请问这15行和22行的getchar();有什么用,好想删掉会出错但又不知道是干什么的

日期:2021-04-19 10:34:53 人气:1

请问这15行和22行的getchar();有什么用,好想删掉会出错但又不知道是干什么的

因为“回车”也是一个字符,当你gets接受完你输入的数据时,你会敲回车键,这意味着回车要输入到缓存区,但不会写入到非字符的储存空间(即"n" "book[i],price"),当遇到字符储存空间时,则会把缓存区“回车”字符写入字符存储空间,从而有可能导致你遇到的情况。而getchar正是可以把缓存区的回车字符读取出来,因为getchar读出来的“回车”字符没有赋值给任何存储空间,所以丢弃该字符。从而保证下一次gets不会读到“回车”字符。
    A+
热门评论