ligne de code
Répondre à la discussion
Affichage des résultats 1 à 14 sur 14

ligne de code



  1. #1
    invite6d425481

    ligne de code


    ------

    bonjour à tous,
    j'aimerai connaitre la signification des caractères de la ligne de code suivante
    printf ("B:%4d %10f\n",n,x); merci d'avance pour vos réponses.

    -----

  2. #2
    Jack
    Modérateur

    Re : ligne de code

    Il faut te renseigner sur les caractères de formatage de la fonction printf en C.

    En gros, si n = 3 et f=2.35, ça va afficher:
    Code:
    B:   3       2.35
    %d c'est pour afficher sous forme de nombre entier, %4d c'est pareil mais en réservant 4 caractères pour l'affichage, avec une justification à droite.
    Idem pour %f qui affiche sous forme de valeur décimale (flottant)

  3. #3
    Chanur

    Re : ligne de code

    J'ajouterai que le B: est transcrit tel quel (voir l'exemple de Jack) et que le \n de la fin signifie "fin de ligne".
    Si on ne met pas \n, le prochain appel à printf écrira sur la même ligne.

    Le \n n'est pas spécifique à printf, c'est la façon de noter un retour chariot dans une chaîne de caractère.

    Quelques descriptions détaillées de printf :
    http://www.linux-france.org/article/man-fr/man3/printf-3.html
    http://alain.dancel.free.fr/c/c60_10.htm
    Ce qui se conçoit bien s'énonce clairement ; et les mots pour le dire arrivent aisément.

  4. #4
    invite6d425481

    Re : ligne de code

    merci pour les réponses.

  5. A voir en vidéo sur Futura
  6. #5
    invite6d425481

    Re : ligne de code

    c'est x=2.35 ou f=2.35?

  7. #6
    Jack
    Modérateur

    Re : ligne de code

    Citation Envoyé par tsukuyomi Voir le message
    c'est x=2.35 ou f=2.35?
    Désolé, c'était en effet x=2.35 qu'il fallait lire

  8. #7
    invite6d425481

    Re : ligne de code

    lorsque je compile ma ligne de code avec x=34.5678 j'obtiens 34.7799 j'ai du mal à comprendre cette réponse vu que l'on me dit que 10f correspond à coder en réservant 10 caractères.

  9. #8
    Jack
    Modérateur

    Re : ligne de code

    A mon avis, tu as mal recopié ce qui était affiché. Ce n'est pas 34.7799 mais 34.567799 qui doit être affiché.
    Dans ce cas, c'est tout simplement parce que
    34.5678 n'est pas codable dans le format des nombres flottants. La valeur la plus proche est 34.567798614501953, donc l'affichage qui est par défaut de 6 chiffres derrière la virgule arrondit à 34.567799

  10. #9
    invite6d425481

    Re : ligne de code

    donc 10f correspond à 6 chiffre après la virgule?

  11. #10
    Jack
    Modérateur

    Re : ligne de code

    Citation Envoyé par tsukuyomi Voir le message
    donc 10f correspond à 6 chiffre après la virgule?
    Non, il faudrait lire la doc dont chanur t'a donné les liens. On peut lire dans la doc de man:
    Si la précision n'est pas indiquée, l'affichage se fera avec 6 décimales.
    , ce que je citais dans mon message précédent.

    %10f indique que l'affichage occupera au moins 10 caractères en incluant le point décimal. Tu aurais pu faire quelques essais pour t'en rendre compte.

  12. #11
    invite6d425481

    Re : ligne de code

    le problème avec cette documentation c'est qu'il n'y as pas beaucoup d'exemple c'est pourquoi j'aimerai savoir la signification de cette ligne de code printf("%8.*f",n,x);

  13. #12
    Stan_94

    Re : ligne de code

    L'expérience, rien de vaut l'expérience !
    Il faut tester avec diverses valeurs...
    Avec l'appuie de la doc et l'analyse des résultats tu devrais vite comprendre.

    Bon courage.

  14. #13
    invite6d425481

    Re : ligne de code

    lorsque je compile la ligne de code suivanterintf("%12.4e",x); j'obtiens 1.2346e+010 je ne comprend pas la signification de ce résultat.
    cordialement.

  15. #14
    Jack
    Modérateur

    Re : ligne de code

    ???
    C'est de la notation scientifique: 1.2346e+010 = 1.2346.10+10 ​(e signifie exposant)

Discussions similaires

  1. code vb 2008 pour code bouton eteindre ou allumer une lampe
    Par invite7c733226 dans le forum Programmation et langages, Algorithmique
    Réponses: 0
    Dernier message: 16/02/2013, 20h44
  2. Un langage codé léger, 2 caractères non codé=1 caractère codé. Une solution?
    Par invite06e0b926 dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 30/06/2010, 10h02
  3. ligne de code bizare sur Firefox
    Par invite8a1ee9f2 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 2
    Dernier message: 17/12/2006, 03h35
  4. nouvelle ligne free sans ligne france télécom
    Par invite42afdcd3 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 6
    Dernier message: 11/04/2006, 16h50