使用C中的getchar()来输入输入

时间:2017-04-04 00:49:24

标签: c loops character getchar

有点麻烦,我很困惑为什么这不会工作。代码将接受输入并打印输入而不使用任何小写元音。

#include <stdio.h>
int main (void) {
    int i=getchar();
        while (i != EOF) {
            if(i!='a' && i!='e' && i!='i'&&i!='o' && i!='u') {
                printf("%c", i);
                i=getchar();    
            }
        }

}   

1 个答案:

答案 0 :(得分:1)

检查您的if声明。

如果输入字符不在{a,e,i,o,u}中,则打印字符并获取新字符。但是你真的希望每次循环都能获得一个新角色。由于i在元音时没有变化,因此代码会永远运行 - 永远不会到达EOF

修复方法是将getchar()的呼叫转移到if语句之后。