В чем смысл части else outofGuesses = 1?
Это должно быть флагом или индикатором. В этом случае 1 представляет истину, а 0 - ложь.
Когда вы используете один знак равенства, а когда 2?
Как указано @ am121 в другом ответе, используйте =
для присвоения значения переменной и ==
при проверке равенства двух значений
Был ли более простой способ сделать это, например, с помощью оператора for?
Прежде всего , в программе есть ошибка. Переменная guess
не инициализирована и имеет неопределенное поведение. Например, если guess
совпадает с secretNumber
, человек выигрывает игру, не играя. Для этой программы ему должно быть присвоено любое значение, НЕ равное секретному номеру
То же, что и для l oop:
#include <stdio.h>
int main(void)
{
int secretNumber= 5;
int guess = 0; //Some value not equal to secretNumber
int guessLimit=3;
for(int guessCount=1; guess!=secretNumber && guessCount<=guessLimit; guessCount++){
printf("Enter a number between 1 and 10:");
scanf("%d", &guess);
}
if(guess == secretNumber)
{
printf("You win!");
}
else
{
printf("You lost!");
}
}