Articolo originale: Format Specifiers in C
Gli identificatori di formato definiscono il tipo di dati da stampare sull'output standard. È necessario utilizzare gli identificatori di formato sia che si stampi l'output formattato con printf() e sia che si accetti l'input con scanf().
Alcuni degli identificatori % che puoi utilizzare in ANSI C sono i seguenti:
| SPECIFICATORE | USATO PER | 
|---|---|
| %c | un unico carattere | 
| %s | una stringa | 
| %hi | short (con segno) | 
| %hu | short (senza segno) | 
| %Lf | long double | 
| %n | non stampa nulla | 
| %d | un intero decimale (si assume base 10) | 
| %i | un numero intero decimale (rileva automaticamente la base) | 
| %o | un intero ottale (in base 8). | 
| %x | un intero esadecimale (base 16) | 
| %p | un indirizzo (o puntatore) | 
| %f | un numero in virgola mobile per i float | 
| %u | int decimale senza segno | 
| %e | un numero in virgola mobile in notazione scientifica | 
| %E | un numero in virgola mobile in notazione scientifica | 
| %% | il simbolo % | 
Esempi:
Identificatore di formato a carattere singolo %c:
#include <stdio.h> 
int main() { 
  char first_ch = 'f'; 
  printf("%c\n", first_ch); 
  return 0; 
} Output:
fIdentificatore di formato stringa %s:
#include <stdio.h> 
int main() { 
  char str[] = "freeCodeCamp"; 
  printf("%s\n", str); 
  return 0; 
} Output:
freeCodeCampImmissione di caratteri con l'identificatore di formato %c:
#include <stdio.h> 
int main() { 
  char user_ch; 
  scanf("%c", &user_ch); // l'utente inserisce Y
  printf("%c\n", user_ch); 
  return 0; 
} Output:
YInput stringa con l'identificatore di formato %s:
#include <stdio.h> 
int main() { 
  char user_str[20]; 
  scanf("%s", user_str); // l'utente inserisce fCC
  printf("%s\n", user_str); 
  return 0; 
} Output:
fCCIdentificatori di formato intero decimale %d e %i:
#include <stdio.h> 
int main() { 
  int found = 2015, curr = 2020; 
  printf("%d\n", found); 
  printf("%i\n", curr); 
  return 0; 
} Output:
2015
2020Identificatori di formato dei numeri in virgola mobile %f e %e:
#include <stdio.h>
int main() { 
  float num = 19.99; 
  printf("%f\n", num); 
  printf("%e\n", num); 
  return 0; 
}Output:
19.990000
1.999000e+01Identificatore di formato intero ottale %o:
#include <stdio.h> 
int main() { 
  int num = 31; 
  printf("%o\n", num); 
  return 0; 
}Output:
37Identificatore di formato intero esadecimale %x :
#include <stdio.h> 
int main() { 
  int c = 28; 
  printf("%x\n", c); 
  return 0; 
} Output:
1c 
  
        
         
  
        
        