正在跳过循环内的Scanf

时间:2017-12-17 15:00:00

标签: c validation input scanf

我试图确保用户确实输入了一个整数。然而,无论我输入什么内容,它似乎都无法运作。

有时,scanf被完全忽略,循环只打印出所有时间。

当我检查代码输入的内容时,它也是错误的。

任何想法或帮助将不胜感激!

while (square_size == -1) {
    square_size = get_input_size();
}

int get_input_size(void) {

   int size;
   printf("What size word square would you like to create?  ");
   scanf("%d", &size);
   if (isdigit(size)) {
       printf("VALID %d\n", size);
       return size;
   }
   printf("ERROR: invalid input\n");
   return -1;
}

0 个答案:

没有答案