Control reaches end of non-void function -wreturn-type
Fermé
rinraven404
-
Modifié par rinraven404 le 23/01/2013 à 18:20
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 23 janv. 2013 à 21:25
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 23 janv. 2013 à 21:25
A voir également:
- Control reaches end of non-void function -wreturn-type
- Control center 4 - Télécharger - Divers Utilitaires
- Connectwise control supprimer - Forum Virus
- Copytrans control center - Télécharger - Divers Utilitaires
- Control panel - Télécharger - Divers Utilitaires
- Incompatibilité de type vba ✓ - Forum Programmation
3 réponses
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
Modifié par KX le 23/01/2013 à 18:25
Modifié par KX le 23/01/2013 à 18:25
Il faudrait écrire : if(age > 8 || age <18), mais attention car ce test sera toujours vrai !La confiance n'exclut pas le contrôle
if ((age >8) || (age <18)) (les parenthèses sont pas obligées, mais je préfère perso)
Je me trompe peut être, mais cette erreur viens du fait que if est une fonction "booléenne" qui renvoie un nombre si le test est vrai (probablement 1) et un autre nombre si le test est faux (probablement 0)
L'appel du test étant erroné, la fonction ne retournait rien
Je me trompe peut être, mais cette erreur viens du fait que if est une fonction "booléenne" qui renvoie un nombre si le test est vrai (probablement 1) et un autre nombre si le test est faux (probablement 0)
L'appel du test étant erroné, la fonction ne retournait rien
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
23 janv. 2013 à 18:36
23 janv. 2013 à 18:36
L'erreur est surtout qu'il n'y a rien entre le || et le < ce qui signifie qu'on compare 18 avec... rien !
if(age >8 || <18) ^^^^^
ca ne m'affiche plus le message d'erreur mais le printf s'affiche quand mm et pourtant j'ecrit 20! comment faire svp et merci de m'avoir rep.
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 841
23 janv. 2013 à 21:25
23 janv. 2013 à 21:25
KX t'a bien expliqué que ce test était toujours vrai.
Explication : if(age > 8 || age <18)
Tu mets 20; 20 est supérieur à 8. Donc on rentre dans le if.
A mon avis, tu voulais plutôt mettre : if(age>8 && age<18)
Explication : if(age > 8 || age <18)
Tu mets 20; 20 est supérieur à 8. Donc on rentre dans le if.
A mon avis, tu voulais plutôt mettre : if(age>8 && age<18)