Olá! Eu gostaria de declarar as variáveis todas juntas no ínicio do código, porém está dando bug, alguém poderia me explicar porque assim funciona:
#include <stdio.h>
int main () {
//Imprime o cabeçalho do jogo
printf("***************************************\n");
printf("*Bem Vindo ao nosso jogo de advinhação*\n");
printf("***************************************\n");
//Declaração de variáveis
int numerosecreto = 42;
int chute;
// Funções do jogo - Entrada de valores
for (int i = 1; i <= 3; i++) {
printf ("* Tentativa %d de 3 *\n", i);
printf("Qual é o seu chute? \n");
scanf ("%d", &chute);
printf("Seu chute foi: %d \n", chute);
//Funções do jogo - Acertou ou errou
int acertou = (chute == numerosecreto);
if (acertou) {
printf("Parabéns você acertou!\n");
printf("Você é um bom jogador\n");
// Parar de executar for
break;
}
else {
int maior = (chute > numerosecreto);
if (maior) {
printf("Seu chute foi maior que o número secreto!\n");
} // if
else {
printf("Seu chute foi menor que o número secreto!\n");
} // else
} //else
} //for
printf("Fim do jogo!\n");
} //main
e assim não
#include <stdio.h>
int main () {
//Imprime o cabeçalho do jogo
printf("***************************************\n");
printf("*Bem Vindo ao nosso jogo de advinhação*\n");
printf("***************************************\n");
//Declaração de variáveis
int numerosecreto = 42;
int chute;
int acertou = (chute == numerosecreto);
int maior = (chute > numerosecreto);
// Funções do jogo - Entrada de valores
for (int i = 1; i <= 3; i++) {
printf ("* Tentativa %d de 3 *\n", i);
printf("Qual é o seu chute? \n");
scanf ("%d", &chute);
printf("Seu chute foi: %d \n", chute);
//Funções do jogo - Acertou ou errou
if (acertou) {
printf("Parabéns você acertou!\n");
printf("Você é um bom jogador\n");
// Parar de executar for
break;
}
else {
if (maior) {
printf("Seu chute foi maior que o número secreto!\n");
} // if
else {
printf("Seu chute foi menor que o número secreto!\n");
} // else
} //else
} //for
printf("Fim do jogo!\n");
} //main
Muito obrigada desde já! :)