Я новичок в C языке и пишу этот код для развлечения. Здесь я сначала беру имя пользователя, а затем беру от пользователя число догадки. И я написал функцию, чтобы проверить, является ли число целым или нет (нужны только целочисленные входные данные).
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
char userName[30];
int userGuess, check;
int checkGuess(int, int);
printf("Enter your name - ");
scanf("%s",&userName);
int i = 0;
while(++i<=10)
{
printf("Enter Your Guess: ");
check = scanf("%d",&userGuess);
checkGuess(userGuess, check);
}
return 0;
}
int checkGuess(int userGuess, int check)
{
if(check == 1)
{
printf("yes int, %d.\n",userGuess);
} else
{
printf("Not int\n");
}
}
Однако, когда я ставлю целые числа, все работает нормально, но когда я помещаю строку или число с плавающей запятой, он просто запускается L oop до конца.