如果用scanf输入用户猜测的数据时,如果用户不小心输入了非法字符_百 ...

发布网友 发布时间:2024-10-24 15:04

我来回答

2个回答

热心网友 时间:2024-11-06 15:19

  C语言是这样一种语言,它是先假设用户知道要做什么的。 所以,出现你这样的问题,你必须自己手动编码过滤,譬如,要保证输入的数据是数字。那你就得写如下类似的过滤。

  

    char bux[MAX] = {0};
  for (int inx=0; inx!=MAX; ++inx ) {
  if (buf[inx] < 0x30 || buf[inx] > 0x39){
  printf("not number\n");
  } else {
  ///this do somethings
  }

热心网友 时间:2024-11-06 15:12

如果输入的数据是数字与字符混合的,即 12wse 这样的,scanf 会将前面的12格式化到要输入的数字变量中,后面的舍弃。

如果输入的是以字符开头,不论后面还是否有数字,那么得到的数字变量都是0。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com