Débutant C
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour
J'avais commencé le language C l'été dernier, mais dès septembre, mes profs m'ont fait crouler sur le travail, donc j'ai du ranger mon livre car je tenais à avoir mon bac...
Maintenant que je l'ai, je ressort mon livre que je regardai avec convoitise tout au long de l'année !
Bon je reprend depuis le début, parce que j'ai oublié plein de trucs...
Donc je refait les petits programmes du début, et mince alors... le 2ème marche pas... :
Le voici :
/* 02L02.c */
#include <stdlib.h>
#include <stdio.h>
void main ()
{
printf ("bonjour ! ceci est un programme C. \n");
exit(0)
}
Il surligne au premier {et le rapport est : 'main' must return 'int'
Je ne comprends pas l'erreur... Il me semble avoir bien respécté e qui est écrit que le bouquin...
Je me souviens qu'il y avait des erreurs dans quelques exemples, mais dès le début ça me semble louche :p
Ou est mon erreur ?
Merci beaucoup !
A bientot
+++
François
J'avais commencé le language C l'été dernier, mais dès septembre, mes profs m'ont fait crouler sur le travail, donc j'ai du ranger mon livre car je tenais à avoir mon bac...
Maintenant que je l'ai, je ressort mon livre que je regardai avec convoitise tout au long de l'année !
Bon je reprend depuis le début, parce que j'ai oublié plein de trucs...
Donc je refait les petits programmes du début, et mince alors... le 2ème marche pas... :
Le voici :
/* 02L02.c */
#include <stdlib.h>
#include <stdio.h>
void main ()
{
printf ("bonjour ! ceci est un programme C. \n");
exit(0)
}
Il surligne au premier {et le rapport est : 'main' must return 'int'
Je ne comprends pas l'erreur... Il me semble avoir bien respécté e qui est écrit que le bouquin...
Je me souviens qu'il y avait des erreurs dans quelques exemples, mais dès le début ça me semble louche :p
Ou est mon erreur ?
Merci beaucoup !
A bientot
+++
François
A voir également:
- Débutant C
- Logiciel de programmation pour débutant - Guide
- Logiciel montage vidéo débutant - Guide
- Apprendre le coran pour débutant (+ pdf) - Télécharger - Histoire & Religion
- Platine dj debutant - Forum Enregistrement / Traitement audio
- Comment utiliser un ordinateur pour un débutant - Astuces et Solutions
4 réponses
Salut,
Tu auras plus de chances en déclarant ton main comme retournant un type entier:
Voir ici:
http://www.commentcamarche.net/c/ccarac.php3 (voir la note du visiteur).
Ensuite, je n'ai jamis vu exit(0) dans un code c.
C'est peut être correct, mais si tu as des soucis avec ça, remplace le par
PS: Je viens de me renseigner sur le exit(), ça parait correct.
Tu auras plus de chances en déclarant ton main comme retournant un type entier:
int main()
Voir ici:
http://www.commentcamarche.net/c/ccarac.php3 (voir la note du visiteur).
Ensuite, je n'ai jamis vu exit(0) dans un code c.
C'est peut être correct, mais si tu as des soucis avec ça, remplace le par
return 0;
PS: Je viens de me renseigner sur le exit(), ça parait correct.
Merci pour ta réponse
En effet ça fonctionne bien avec int main()
mais le programme qui m'est proposé par le livre contient il une erreur alors ?
Parce que dans le lien que tu me donne, ils proposent pas void main()...
Tout ce qui est avec void est : main(void)
Merci bcp
+++
François
En effet ça fonctionne bien avec int main()
mais le programme qui m'est proposé par le livre contient il une erreur alors ?
Parce que dans le lien que tu me donne, ils proposent pas void main()...
Tout ce qui est avec void est : main(void)
Merci bcp
+++
François
Je rajoute :
Le but de l'exo c'est d'utiliser void main ()
Ils disent que void enmpêche à la fonction main de donner une valeur en retour... mais que cela ne marche donc qu'avec exit() puisque return renvoie une valeur...
Comment faire alors pour concilier void main() avec exit() ?
Merci !
Le but de l'exo c'est d'utiliser void main ()
Ils disent que void enmpêche à la fonction main de donner une valeur en retour... mais que cela ne marche donc qu'avec exit() puisque return renvoie une valeur...
Comment faire alors pour concilier void main() avec exit() ?
Merci !
En fait exit ça ne sert que dans le cas d'une fonction autre que main (pour interrompre l'exécution d'un programme), car pour un main un simple return suffit.
Et en général un exit dans une fonction c'est mal car il vaut mieux essayer de rattraper l'erreur ;)
Petite précision : si tu fais :
La compilation donne :
Un warning n'empêche pas la compilation, ça indique juste qu'il y a un truc pas clean.
Pour régler le problème, cf ci-dessus. De toute façon, si tu programmes proprement, main retourne toujours un entier (le code d'exécution du programme, qui peut être récupérer par un autre programme). Ca permet notamment de contrôler ou non le bon déroulement d'un programme.
Et en général un exit dans une fonction c'est mal car il vaut mieux essayer de rattraper l'erreur ;)
Petite précision : si tu fais :
#include <stdio.h> #include <stdlib.h> void main( ) { printf("plop\n"); exit(0); }
La compilation donne :
plop.c:6: attention : le type de retour de « main » n'est pas « int »
Un warning n'empêche pas la compilation, ça indique juste qu'il y a un truc pas clean.
Pour régler le problème, cf ci-dessus. De toute façon, si tu programmes proprement, main retourne toujours un entier (le code d'exécution du programme, qui peut être récupérer par un autre programme). Ca permet notamment de contrôler ou non le bon déroulement d'un programme.