Partage
  • Partager sur Facebook
  • Partager sur Twitter

Erreur dans la fonction main.

Sujet résolu
20 février 2020 à 21:12:01

Bonjour, je voudrais créer un programme en C, mais il y a une erreur dans la fonction main, voici mon code :

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

intmain() {
int Age = 0;
printf("Vous avez quel age ?\n");
scanf("%d", Age);
if(Age >= 18) {
printf("Vous avez la majorite !\n");
}
else(Age > 18) {
printf("Vous etes mineur !\n");
}

return0;
}

Et voici l'erreur que j'ai, comment la corriger ?

Condition.c: In function ‘main’:
Condition.c:9:13: warning: format ‘%d’ expects argument of type ‘int *’, but argument 2 has type ‘int’ [-Wformat=]
    9 |     scanf("%d", Age);
      |            ~^   ~~~
      |             |   |
      |             |   int
      |             int *
Condition.c:15:19: error: expected ‘;’ before ‘{’ token
   15 |     else(Age > 18) {
      |                   ^~
      |                   ;

  • Partager sur Facebook
  • Partager sur Twitter
20 février 2020 à 21:20:17

Bonjour,

première erreur : scanf attends une adresse (un pointeur) et tu lui envoie un int il faut faire

scanf("%d", &Age);
la seconde erreur : tu met else mais tu mets quand même une condition il faut soit mettre un else if :
else if (Age < 18)
soit ne pas mettre de condition :
else {
}

soit dit en passant ta condition pour printf "vous etes mineur" ressemble furieusement à celle qui printf "vous avez la majorité" (> au lieu de <)

-
Edité par aureliencabiac 20 février 2020 à 21:20:30

  • Partager sur Facebook
  • Partager sur Twitter
20 février 2020 à 21:20:38

Lu'

Remplace :

scanf("%d", Age);

Par:

scanf("%d", &Age);


Pour l'erreur, il faudrait que copies/colles ton code avec la balise </> avec l'indentation.. On voit pas grand chose.

Je peux aussi te dire que tes conditions ont un problème de logique.

Pour ce qui est de l'erreur, un "else" ne prend pas de condition. Il faudrait faire :

if(Age >= 18) {
    printf("Vous avez la majorite !\n");
}else {
    printf("Vous etes mineur !\n");
}




  • Partager sur Facebook
  • Partager sur Twitter
20 février 2020 à 21:23:28

eheh synchronisation des réponses
  • Partager sur Facebook
  • Partager sur Twitter