Afficher le contenu d'une variable

Par

  • Difficulté

    Moyen

  • Note

  • Durée

    75 jours 1 heure

Tutoriel : Apprenez à programmer en C !

Thématiques

Programmation, C

Mis à jour le lundi 7 janvier 2013


On sait afficher du texte à l'écran avec la fonction printf.
Maintenant, on va voir comment afficher la valeur d'une variable avec cette même fonction.

On utilise en fait printf de la même manière, sauf que l'on rajoute un symbole spécial à l'endroit où l'on veut afficher la valeur de la variable. Par exemple :

printf("Il vous reste %d vies");

Ce « symbole spécial » dont je viens de vous parler est en fait un '% suivi d'une lettre (dans mon exemple, la lettre 'd'). Cette lettre permet d'indiquer ce que l'on doit afficher. 'd' signifie que l'on souhaite afficher un int.
Il existe plusieurs autres possibilités, mais pour des raisons de simplicité on va se contenter de retenir celles-ci :

Format

Type attendu

"%d"

int

"%ld"

long

"%f"

float

"%f"

double

Je vous parlerai des autres symboles en temps voulu. Pour le moment, retenez uniquement ceux-ci ;)

On a presque fini. On a indiqué qu'à un endroit précis on voulait afficher un nombre entier, mais on n'a pas précisé lequel ! Il faut donc indiquer à la fonction printf quelle est la variable dont on veut afficher la valeur.
Pour ce faire, vous devez taper le nom de la variable après les guillemets et après avoir rajouté une virgule, comme ceci :

printf("Il vous reste %d vies", nombreDeVies);

Le %d sera remplacé par la variable indiquée après la virgule, à savoir nombreDeVies.
On se teste ça dans un programme ?

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  int nombreDeVies = 5; // Au départ, le joueur a 5 vies
  
  printf("Vous avez %d vies\n", nombreDeVies);
  printf("**** B A M ****\n"); // Là il se prend un grand coup sur la tête
  nombreDeVies = 4; // Il vient de perdre une vie !
  printf("Ah desole, il ne vous reste plus que %d vies maintenant !\n\n", nombreDeVies);
  
  return 0;
}

Ça pourrait presque être un jeu vidéo (il faut juste beaucoup d'imagination).
Ce programme affiche ceci à l'écran :

Vous avez 5 vies
**** B A M ****
Ah desole, il ne vous reste plus que 4 vies maintenant !

Vous devriez reconnaître ce qui se passe dans votre programme.

  1. Au départ le joueur a 5 vies, on affiche ça dans un printf.

  2. Ensuite, le joueur prend un coup sur la tête (d'où le BAM).

  3. Finalement il n'a plus que 4 vies, on affiche ça aussi avec un printf.

Bref, c'est plutôt simple.

Afficher plusieurs variables dans un même printf

Il est possible d'afficher la valeur de plusieurs variables dans un seul printf. Il vous suffit pour cela d'indiquer des %d ou des %f là où vous voulez, puis d'indiquer les variables correspondantes dans le même ordre, séparées par des virgules.

Par exemple :

printf("Vous avez %d vies et vous etes au niveau n° %d", nombreDeVies, niveau);

Allez, un petit test maintenant. Notez que j'enlève les lignes tout en haut (les directives de préprocesseur commençant par un #), je vais supposer que vous les mettez à chaque fois maintenant :

int main(int argc, char *argv[])
{
  int nombreDeVies = 5, niveau = 1;
  
  printf("Vous avez %d vies et vous etes au niveau n° %d\n", nombreDeVies, niveau);
  
  return 0;
}

Ce qui affichera :

Vous avez 5 vies et vous etes au niveau n° 1
Fatigué(e) de lire sur un écran ? Découvrez ce cours en livre.


Licence
J'ai une question ou une remarque

L'auteur

Mateo21 Entrepreneur à temps plein, auteur à temps plein et fondateur du Site du Zéro :o)
172