大家好,我刚刚完成了我的程序,它读取任何单个字符并打印该字符的 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/

10-12 14:24
查看更多