有点麻烦,我很困惑为什么这不会工作。代码将接受输入并打印输入而不使用任何小写元音。
#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();
}
}
}
答案 0 :(得分:1)
检查您的if
声明。
如果输入字符不在{a,e,i,o,u}中,则打印字符并获取新字符。但是你真的希望每次循环都能获得一个新角色。由于i
在元音时没有变化,因此代码会永远运行 - 永远不会到达EOF
。
修复方法是将getchar()
的呼叫转移到if
语句之后。