I want to take input of integer and want to check that input is only one integer. So I have implemented some logic. But it's in infinite loop.
Логика такова: если scanf возвращает 1, это означает, что это совпадение, а если нет, то это не целое число, так как число должно быть больше 5, поэтому я также добавил эту проверку.
#include <stdio.h>
int main()
{
//Variable Declarations
int a[1000],n,i,j,int_check=0;
//Input for number of terms and it should be at least 5
printf("Enter the number of terms for the array input:");
int_check=scanf("%d",&n);
printf("\nscanf=%d and n=%d\n",int_check,n);
//Input Validity checking. If scanf returns 1 that means it's a match with the input. Number of terms should be greater than 5.
while(int_check!=1 || n<5)
{
printf("Enter the valid number of terms for the array inout. It should be an integer and greater than 5:");
int_check=scanf("%d",&n);
}
return 0;
}
Должен быть один экран ввода.Помогите мне определить, что не так в этой логике.