#include <stdio.h>
int scanf( const char *format [, arg [, arg]...]);
La fonction scanf permet de faire une lecture formatée du flux standard d'entrée (le clavier par défaut).
Elle lit les caractères en entrée, les interprète en concordance avec les spécifications de format décrites dans la chaîne format, et place les résultats dans les arguments arg.
Pour pouvoir retourner les valeurs ainsi saisies, les arg doivent être obligatoirement des pointeurs.
le nombre de valeurs convenablement introduites ou EOF (-1)en cas d'erreur.
Ils sont introduits par le caractère % (pour-cent) et se terminent par le caractère de type de conversion suivant le format suivant :
% [largeur] [modificateur] type
| Modificateur | l'objet recevant est |
|---|---|
| h | un entier de type short int (d,i,o,u,x) |
| l | un entier de type long int (d,i,o,u,x) un réel de type double (e,f) |
| L | un réel de type long double (e,f,g) |
| type | Type de l'objet pointé |
|---|---|
| d | signed int exprimé en décimal |
| o | signed int exprimé en octal |
| u | unsigned int exprimé en décimal |
| x | int (signed ou unsigned) exprimé en hexadécimal |
| f,e,g | réel |
| c | suivant la largeur : largeur non spécifiée ou égale à 1 : caractère largeur différente de 1 : une chaîne de caractères |
| s | une chaîne de caractères |
| p | pointeur exprimé en hexadécimal |
#include <stdio.h>
main() {
int i,j;
double d;
char tab[81];
printf("entier: ");
scanf("%d", &i);
printf("2 entiers et 1 double: ");
scanf("%d%d%lf", &i, &j, &d);
printf("chaine (sans espace): ");
scanf("%80s", tab);
/* le caractère '\0' est automatiquement ajouté à la fin de la chaîne tab*/
return 0;
}