mardi 13 décembre 2011

le tampon

Le programme suivant s'exécute-t-il "correctement" ? Que contient le tampon à l'issue de l'exécution ?
--------------------------------------------------------------------------------------------
#include <stdio.h>
#include <conio.h>
void main()
{
char c;


int i;
printf("ENTRER UN CARACTERE: ");
scanf("%c",&c);
printf("VOICI SON CODE ASCII EN HEXADECIMAL: %x\n",c);
printf("ENTRER UN NOMBRE: ");
scanf("%d",&i);
printf("VOICI CE NOMBRE EN HEXADECIMAL: %x\n",i);
printf("POUR CONTINUER FRAPPER UNE TOUCHE ");
getch();
}
Correction
Oui car lors du deuxième appel à scanf, le programme attend un entier(int), alors que le tampon ne contient qu'un caractère (char).
A l'issue de l'exécution le tampon contient les deux caractères LF.

Aucun commentaire:

Enregistrer un commentaire