如何为scanf编写一个条件,该条件只接受包含零但不接受字母的整数输入

  • 本文关键字:条件 包含零 不接受 整数 scanf 一个 c
  • 更新时间 :
  • 英文 :


我有这个扫描函数:

scanfResult = scanf("%s%d%d", X, &LO, &HI);

我需要写一个条件,它只接受scanf函数中第二和第三位的整数(在%d所在的位置(,而不接受任何字母。我可以写这样的东西:

if (HI == 0 || LO == 0){
printf("Wrong input.n");
return 0;
}

然而,它不接受int"0"作为输入,我想接受它。如何写一个条件,使它可以接受零个字母,但不能接受任何字母?(我是初学者(

我的输入是:

c 45 abc

您可以使用带有getchar((的while循环。输入允许使用的字母表的代码。像这个

while (1)  {
ch = getchar();
// if ch is <enter  key > the break
if (policyOK( ch ) ) {
printf("%c", ch );
} else {
// print a beep sound or don't do anything
}
}

最新更新