IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

mon programme n'a pas besoin de toutes les instructions !


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 99
    Par défaut mon programme n'a pas besoin de toutes les instructions !
    Salut ,

    je suis novice en programmation C++, je viens de télécharger le compilateur sous msdos. j'ai touvé un cours d'initiation et je le suis à la lettre j'ai essayé le programme suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     #include <stdio.h>
     main()
     {
        printf("hello, world\n");
        return 0;
     }
    J'ai remarqué que si on enlève #include <stdio.h> ou return 0; ça marche toujours

    Pouvez vous me dire pourquoi?

  2. #2
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    863
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 863
    Par défaut
    1) Je pense que cela n'est pas normal.

    Il faut préciser quel est le compilateur (aucun ne devrait dire cela).

    2) Ici c'est le forum C++. Pas le forum C.

    3) Pourquoi utiliser msdos en 2007 ?

  3. #3
    Rédacteur
    Avatar de Bakura
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    1 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 386
    Par défaut
    Citation Envoyé par Bayard Voir le message
    3) Pourquoi utiliser msdos en 2007 ?
    Il a pas encore changé son PC

  4. #4
    Membre éclairé
    Homme Profil pro
    Consultant MOA
    Inscrit en
    Juillet 2004
    Messages
    289
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant MOA
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2004
    Messages : 289
    Par défaut
    Pour le return 0, ça dépend du compilateur.
    Si tu ne spécifie aucun type de retour, le compilo peut l'interpréter comme un void, et par conséquent ne pas retourner d'erreur ...

  5. #5
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    J'ai remarqué que si on enlève #include <stdio.h> ou return 0; ça marche toujours

    Pouvez vous me dire pourquoi?
    Ton code tel quel ne devrait déjà pas marcher. Ce n'est ni du C++ ni du C89 standard.
    ça marche seulement parce que ton compilateur est dans un mode tolérant. Active -Wall -Wextra -pedantic -ansi et tu auras les messages d'erreur.

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 133
    Par défaut
    Le shell d'UNIX (ou Linux) teste la valeur de retour d'un programme, d'où le return 0. Pour MSDOS j'ai oublié, je pense que ça sert pas. Normalement on utilise exit(0), car exit() ferme les flux d'E/S et libère la mémoire.

Discussions similaires

  1. Mon programme ne trouve pas le package jt400
    Par Greg.shogun dans le forum JDBC
    Réponses: 2
    Dernier message: 11/05/2007, 10h21
  2. Réponses: 3
    Dernier message: 16/04/2007, 17h01
  3. Mon programme ne marche pas aprés le if:?
    Par mitherkiller dans le forum C
    Réponses: 28
    Dernier message: 28/03/2007, 19h47
  4. Mon programme ne fonctionne pas
    Par phil23 dans le forum C
    Réponses: 4
    Dernier message: 22/03/2007, 16h31
  5. Sos mon programme ne marche pas
    Par monalisa_dulouvre dans le forum C
    Réponses: 49
    Dernier message: 26/12/2006, 18h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo