Premier prog C et premières erreurs !!

Résolu/Fermé
steph.780 Messages postés 6 Date d'inscription jeudi 10 décembre 2009 Statut Membre Dernière intervention 10 janvier 2010 - 10 déc. 2009 à 18:06
Zestyr Messages postés 466 Date d'inscription mercredi 12 août 2009 Statut Membre Dernière intervention 17 octobre 2011 - 10 déc. 2009 à 21:55
Bonjour,
Je débute en C et voici un petit programme qui me permet de calculer l'aire d'un rectangle. J'ai créé une fonction avant le main qui s'occupe du calcul et renvoi un printf.
Mais code block me renvoi un<gras> syntax error before int à la ligne 17 et me dit à la ligne 23 que ma variable longueur n'est pas déclarée.
Je sais que la machine ne se trompe jamais alors c'est moi qui doit faire l'erreur !!!!!!

Merci à tous pour votre aide.....help :)

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

int aireEtAffichage (larg, longu)
{
int aire = 0;
aire = larg * longu;
return printf ("l aire est de : %d\n", aire);
}


int main(int argc, char *argv[])

{
int largeur = 0, int longueur = 0; // ligne 17

printf ("Quelle est la largeur ?\n");
scanf ("%d\n", &largeur);

printf ("Quelle est la longueur ?\n");
scanf ("%d\n", &longueur); //ligne 23

aireEtAffichage(largeur, longueur);


return 0;
}

5 réponses

Zestyr Messages postés 466 Date d'inscription mercredi 12 août 2009 Statut Membre Dernière intervention 17 octobre 2011 52
10 déc. 2009 à 19:19
Remplaces:
int largeur = 0, int longueur = 0;
par
int largeur = 0,  longueur = 0;

Car la syntaxe pour déclarer plusieurs variables de même type en une instruction est:
type v1, v2, v3
soit
int entier1, entier2, entier3
0
Dora The Explorer Messages postés 2811 Date d'inscription mardi 4 septembre 2007 Statut Contributeur Dernière intervention 1 septembre 2011 853
10 déc. 2009 à 20:13
A noter également que le \n dans le scanf ne parait pas judicieux. Fais des tests avec et sans et tu verras.

return printf ("l aire est de : %d\n", aire);
Je suis un débutant aussi, mais ça me parait bien compliqué, surtout que tu n'utilises pas la valeur retournée. La fonction te renvoie le nombre de caractères de la chaine.

Tu pourrais simplement faire:

printf ("l aire est de : %d\n", aire); 
return 0;
0
Zestyr Messages postés 466 Date d'inscription mercredi 12 août 2009 Statut Membre Dernière intervention 17 octobre 2011 52
10 déc. 2009 à 20:16
ou créer une fct de type void qui ne retourne rien.
0
steph.780 Messages postés 6 Date d'inscription jeudi 10 décembre 2009 Statut Membre Dernière intervention 10 janvier 2010
10 déc. 2009 à 21:35
Merci à tous pour vos réponses. En fait je vais utiliser une fonction void.....
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Zestyr Messages postés 466 Date d'inscription mercredi 12 août 2009 Statut Membre Dernière intervention 17 octobre 2011 52
10 déc. 2009 à 21:55
;-)
0