Warning: format specifies type 'int *' but the argument has
Résolu
brc
-
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
A voir également:
- Format specifies type 'int' but the argument has type 'int *'
- Warning zone telechargement - Accueil - Outils
- Téléchargement et streaming illégal : voici les adresses des sites pirates que les FAI vont bloquer - Accueil - Services en ligne
- Cpu fan fail warning control - Forum Matériel & Système
- Symbole warning word ✓ - Forum Word
- Quota warning free - Guide
2 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
as-tu lu la documentation de scanf(), ou examiné d'autres exemples?
n'hésite pas à partager le message d'erreur complet.
merci, quand tu partages du code, d'utiliser les balises de code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
as-tu lu la documentation de scanf(), ou examiné d'autres exemples?
n'hésite pas à partager le message d'erreur complet.
merci, quand tu partages du code, d'utiliser les balises de code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Bonjour,
Il y a plusieurs choses qui ne vont pas :
Une fois ces corrections apportées, ton programme devient :
Bonne chance
EDIT : corrigé pour tenir compte des remarques de [Dal]
Il y a plusieurs choses qui ne vont pas :
- Le prototype de main s'écrit soit
int main(){ ... }
soitint main(int argc, char **argv) { ... }
; - Le
scanf
est incorrect : il ne peut pas sauver la valeur lue dansage
car tu passes la variableage
au lieu de passer son adresse&age
; - Le test fait dans le
else
n'est pas faux, mais inutile car il est toujours vrai. Il engendre donc une vérification certes peu coûteuse, mais inutile. - Essaye d'être vigilant au niveau de l'indentation.
- Essaye d'être vigilant au niveau des espaces (derrière le ":" par exemple), aux majuscules, et aux accents.
Une fois ces corrections apportées, ton programme devient :
#include <stdio.h> int main(){ int age = 0; printf("Entrez votre âge : "); scanf("%d", &age); if (age >= 18) { printf("Vous êtes majeur !\n"); } else { printf("Vous êtes mineur !\n"); } return 0; }
Bonne chance
EDIT : corrigé pour tenir compte des remarques de [Dal]
L'algorithme est faux également, car une personne qui a 18 ans est majeure, et non pas mineure.
Le test devrait donc être
Le test devrait donc être
if (age >= 18)ou
if (age > 17)et non pas
if (age > 18), pour obtenir tous les âges correspondant à une personne majeure. Ensuite, comme mamiemando le propose, un simple
elsesuffit pour capturer tous les autres cas, qui correspondent nécessairement à des âges de minorité.