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 :

Output %d aulieu du nombre


Sujet :

C

  1. #1
    Futur Membre du Club
    Output %d aulieu du nombre
    Bonjour, je suis débutant en langage C. J'ai un petit soucis avec la sortie du programme suivant qui donne pourtant aucune erreur lors de la compil. c'est pour afficher un modulo. voici le code source :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    /*
     * programme calculatrice
     */
     
    #include <stdio.h>
    #include <stdlib.h>
     
    int main (int argc, char *argv[])
    {
     
    	int nombre1 = 0, nombre2 = 0, resultat = 0;
     
    //Modulo
     
    	printf("Entrez un nombre :\n");
    	scanf("%d",&nombre1);
    	printf("Entrez un autre nombre :\n");
    	scanf("%d",&nombre2);
    	resultat = nombre1 % nombre2;
    	printf("Resultat :\n %d % %d = %d\n", nombre1, nombre2, resultat);
     
    	return 0;
     
    }



    et voici la sortie :

    $>Entrez un nombre :
    $>5
    $>Entrez un autre nombre :
    $>2
    $>Resultat :
    $> 5 %d = 2

    je comprends pas pourquoi la reponse serait supposer etre 1

    meci

  2. #2
    Rédacteur/Modérateur

    Pour afficher un % il faut écrire %% dans le format.
    cf la doc
    % A % followed by another % character will write a single % to the stream. %
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Expert éminent sénior
    Bonjour
    Citation Envoyé par WhyDub Voir le message
    qui donne pourtant aucune erreur lors de la compil.
    Attention, en C ne te focalise jamais là dessus. Ca veut juste dire que la syntaxe est correcte, pas que la logique l'est. Et justement le C est un langage qui ne fait jamais aucun contrôle de quoi que ce soit. C'est voulu pour qu'il soit le plus rapide possible et sa philosophie est "le programmeur sait ce qu'il fait".
    Et donc tu peux parfaitement écrire int tab[10]; tab[500]=0 (écrire dans la case 500 d'un tableau qui n'en contient officiellement que 10), ça compilera sans erreur.
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site

  4. #4
    Futur Membre du Club
    Citation Envoyé par Bousk Voir le message
    Pour afficher un % il faut écrire %% dans le format.
    cf la doc
    Merci!

  5. #5
    Futur Membre du Club
    Citation Envoyé par Sve@r Voir le message
    Bonjour

    Attention, en C ne te focalise jamais là dessus. Ca veut juste dire que la syntaxe est correcte, pas que la logique l'est. Et justement le C est un langage qui ne fait jamais aucun contrôle de quoi que ce soit. C'est voulu pour qu'il soit le plus rapide possible et sa philosophie est "le programmeur sait ce qu'il fait".
    Et donc tu peux parfaitement écrire int tab[10]; tab[500]=0 (écrire dans la case 500 d'un tableau qui n'en contient officiellement que 10), ça compilera sans erreur.
    Intéressant, j'en prend bonne note. Merci!