getchar()每隔一次只调用一次
使用Ch标准解释器时, getchar()
仅运行每隔一行。
C:/> char a = getchar(); C:/> char b = getchar(); b C:/> char c = getchar(); C:/> char d = getchar(); d
我在使用scanf("%c", &a)
时遇到了同样的问题; 在Vim中,语句被跳过。
printf("\nType of Something\nA for SomethingA\nB for SomethingB " "\nC for SomethingC\n\nSelect (A,B,C) > "); char letter = getchar(); // This statement gets skipped return 0;
当您在键盘上键入“A”时,首先按“A”,然后按“ENTER”,对吗? 所以getchar()
或scanf("%c", ....)
得到两个字符:“A”,以及“ENTER”键中的换行符。
如果在循环中使用代码,或者只是重复使用代码,则第一个getchar()将从上一个输入中读取换行符。