答案 0 :(得分:0)
在输入上一个scanf
的数据后,请记得按 Enter ?这个换行符由scanf
使用%c
消费。
你必须改变
scanf("%c",&ch);
fflush(stdin);
到
scanf(" %c", &ch);
以便scanf
会跳过之前scanf
留下的换行符。 %c
之前的空格是一个空白字符,格式字符串scanf
中的空白字符告诉scanf
扫描并丢弃任意数量的空白字符(如果有),直到第一个非空格字符。
并且fflush(stdin);
未按照C标准定义,尽管某些实现定义了它的行为。基本上,你应该避免它来提高可移植性。