大家好,我刚刚完成了我的程序,它读取任何单个字符并打印该字符的 ASCII 值,但是当它循环时,它开始继续读取输入以及其他字符。
我的另一个问题是我希望我的程序在读取“#”时停止并将其打印为无效,而我似乎无法做到这一点代码如下所示:
#include <stdio.h>
int main() {
char input;
while (input != '#') {
printf("\nEnter character: \n");
scanf("%c*c", & input);
printf("The ASCII value is: %d", (int) input);
if (input == '#') break;
}
printf("\n# is invalid");
return (0);
}
最佳答案
你试图用
scanf("%c*c", & input);
但是你忘记了压制中的
%
,scanf("%c%*c", & input);
应该做你想做的。
关于c - 我怎样才能阻止程序读取 'Enter' 作为输入?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15997749/