Syntax Errore Before If

Résolu/Fermé
J'apprends donc je suis - 9 mars 2009 à 20:50
 OlaaSultan.. - 9 mars 2009 à 21:13
Bonjour, ces temps je me suis lancé dans la programmation et je suis un guide pour apprendre (LeSiteDuZero). Tout se passe bien j'apprends à faire des variables ect. Mais à un moment(quand on parle de if...else), je suis bloqué! Je fais des test tout bêtes pour essayer de comprendre comment ça marche mais à chaque fois que je compile le message suivant s'affiche : error: syntax error before "if".
Donc voilà je vous mets le programme(il est pas censé faire autre chose que dire bravo^^) :


#include <stdio.h>
#include <stdlib.h>

int main()

int exemple = 1; //La variable vaut 1 donc la condition doit être remplie

if (exemple) //C'est ici que se cache l'erreur...
printf("bravo");

4 réponses

OlaaSultan..
9 mars 2009 à 20:52
Hello,

#include <stdio.h>
#include <stdlib.h>

int main()
{

int exemple = 1; //La variable vaut 1 donc la condition doit être remplie

if (exemple == 1)
{
printf("bravo");
}
}
0
J'apprends donc je suis
9 mars 2009 à 20:55
Donc le changement que je vois c'est les {} et le == mais ça ne m'aide pas à COMPRENDRE mon erreur je voudrais bien savoir pourquoi ces petites choses sont si importantes...

En tout cas merci de ton aide=)
0
OlaaSultan..
9 mars 2009 à 20:58
Re,

Procure toi un bon cours en C et tu comprendras.

Ce sont ces petites choses qui structurent un langage :

- le main s'ouvre avec un { et se ferme avec un } comme une fonction.
- On compare une variable à une autre avec un ==, un !=, un <=, >= etc...

C'est la norme c'est tout.
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
9 mars 2009 à 20:59
Salut,
Ton erreur surtout, ce sont les accolades.
Tu peux très bien faire :
#include <stdio.h>
#include <stdlib.h>

int main()
{

int exemple = 1; //La variable vaut 1 donc la condition doit être remplie

if (exemple)
{
printf("bravo");
}
return 0;
}

Et ne pas oublier le return 0.
Les accolades sont obligatoires pour définir le code de la fonction.

Le programme le plus court est :
int main(void) {
     return 0;
}

Oui, il sert à rien le programme ^^.
0
OlaaSultan..
9 mars 2009 à 21:02
Re,

Décidément,

fiddy-l'ami-de-Google est un accro. du return(0) - ça devient quasiment obsessionnel !! (:>).
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835 > OlaaSultan..
9 mars 2009 à 21:10
Je respecte surtout les normes qui disent de renvoyer 0 à l'OS pour signaler que tout va bien ;).
0
OlaaSultan.. > fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022
9 mars 2009 à 21:13
Re,

"Ayez !! fini mon OS !! ... tout va bien tkt" (:>).
0
J'apprends donc je suis
9 mars 2009 à 21:00
Merci beaucoup je vais essayer de programmer quelque chose qui va me demander l'age et me dire si je suis majeur maintenant^^ Merci Tchao
0