Результат от моей программы не тот, который я ожидаю, и он отличается на разных компиляторах.
Я пробовал его на трех компиляторах, два из которых дают одинаковый результат.Но я хочу получить комбинацию из двух результатов.
#include <stdio.h>
#include <ctype.h>
#include <time.h>
#include <stdlib.h>
int main()
{
int iRandomNum = 0;
int iUserInput = 0;
const int VIP = 7;
srand(time(NULL));
iRandomNum = (rand() % 10) + 1;
printf("\nGuess a number between 1 to 10.\n Make a wish and type in the number.\n");
scanf("%d", &iUserInput);
if(isdigit(iUserInput))
{
printf("\n\nYou did not enter a digit between 1 to 10.\n\n");
}
else
{
if(iUserInput==iRandomNum || iUserInput==VIP)
printf("\n\nYou guessed it right!\n\n\n");
else
printf("\n\nSorry the right answer was %d.\n\n\n", iRandomNum);
}
return 0;
}
Когда я выбираю любое число, программа должна предупреждать меня, только если я не выбрал правильное число в этой игре на угадывание чисел.Но в случае с 7 у нас всегда есть правильный ответ.Это происходит в двух онлайн-компиляторах.Но в Clang, когда я делаю это & не работает.Функция isdigit не работает тогда