salut im un begginer c programmeur et j'essaye de faire un filtre qui est censé changer une variable en fonction de l'autre variable mais il ne semble pas changer la variable g1 pour une raison quelconque. J'apprécie vraiment toute aide que je peux obtenir car je suis coincé ici pour l'instant. Mercivariable ne change pas c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
int car;
int g1;
int g2;
int sel1;
unsigned int iseed = (unsigned int)time(NULL);
srand (iseed);
g1 = 0;
car = rand() % 3 + 1;
printf("%d\n",car);
printf("select a door beetween 1 and 3\n ");
scanf ("%d",&sel1);
if (sel1 < 0)
{
printf("Invalid selection!\n");
return 0;
}
if (sel1 > 3)
{
printf("Invalid selection!\n");
return 0;
}
if (sel1 == 1)
{
if(car == 1)
{
g1 = 2;
g2 = 3;
}
if (car == 2);
{
g1 = 3;
g2 = 1;
}
if (car == 3);
{
g1 = 2;
g2 = 1;
}
}
if (sel1 == 2)
{
if(car == 1)
{
g1 = 3;
g2 = 2;
}
if (car == 2);
{
g1 = 1;
g2 = 3;
}
if (car == 3);
{
g1 = 1;
g2 = 2;
}
}
if (sel1 == 3)
{
if(car == 1)
{
g1 = 2;
g2 = 3;
}
if (car == 2);
{
g1 = 1;
g2 = 3;
}
if (car == 3);
{
g1 = 1;
g2 = 2;
}
}
printf("Behind door %d is a goat\n",g1);
return 0;
}
Apparemment, je n'ai pas assez de détails alors ignorez cette im juste en ajoutant quelques détails aléatoires. En mathématiques élémentaires, une variable est un caractère alphabétique représentant un nombre, appelé valeur de la variable, qui est soit arbitraire, non entièrement spécifié, soit inconnu.
'if (voiture == 2);': Supprimer ';' – BLUEPIXY
En général, le débogage serait bien. Utilisez Visual Studio, c'est facile là-bas. Si vous êtes sur Linux, utilisez gdb, mais c'est beaucoup plus difficile pour un débutant. (Essayez-le cependant.) Mais vous pouvez toujours disperser 'printf's et voir le flux de contrôle dans un petit morceau de code. (Et bluepix a raison, comprenez-vous pourquoi?) –
Un programme n'est * pas * un monde mathématique. Il a un état interne * changeant *. Lisez à propos de [sémantique] (https://en.wikipedia.org/wiki/Semantics_ (computer_science)) –