Оригінальна публікація: Format Specifiers in C

Специфікатори формату визначають тип даних для друку на стандартному виводі. Ви повинні використовувати специфікатори формату незалежно від того, друкуєте ви відформатований вивід з printf() чи приймаєте ввід з scanf().

Ось деякі специфікатори %, які можна використовувати в ANSI C:

Специфікатор Використовують для
%c одиничний символ
%s рядок
%hi коротке (знакове)
%hu коротке (беззнакове)
%Lf довге подвійне
%n нічого не друкує
%d десяткове ціле число (припускає базу 10)
%i десяткове ціле число (автоматично визначає базу)
%o вісімкове ціле число
%x шістнадцяткове ціле число
%p адреса (або вказівник)
%f число з рухомою комою
%u десяткове ціле число (беззнакове)
%e число з рухомою комою в експоненціальному записі
%E число з рухомою комою в експоненціальному записі
%% символ %

Приклади:

Специфікатор формату одиничного символу %c:

#include <stdio.h> 

int main() { 
  char first_ch = 'f'; 
  printf("%c\n", first_ch); 
  return 0; 
} 

Вивід:

f

Специфікатор формату рядка %s:

#include <stdio.h> 

int main() { 
  char str[] = "freeCodeCamp"; 
  printf("%s\n", str); 
  return 0; 
} 

Вивід:

freeCodeCamp

Ввід одиничного символу з специфікатором формату %c:

#include <stdio.h> 

int main() { 
  char user_ch; 
  scanf("%c", &user_ch); // user inputs Y
  printf("%c\n", user_ch); 
  return 0; 
} 

Вивід:

Y

Ввід рядка з специфікатором формату %s:

#include <stdio.h> 

int main() { 
  char user_str[20]; 
  scanf("%s", user_str); // user inputs fCC
  printf("%s\n", user_str); 
  return 0; 
} 

Вивід:

fCC

Специфікатори формату десяткового цілого числа %d та %i:

#include <stdio.h> 

int main() { 
  int found = 2015, curr = 2020; 
  printf("%d\n", found); 
  printf("%i\n", curr); 
  return 0; 
} 

Вивід:

2015
2020

Специфікатори формату числа з рухомою комою %f та %e:

#include <stdio.h>

int main() { 
  float num = 19.99; 
  printf("%f\n", num); 
  printf("%e\n", num); 
  return 0; 
}

Вивід:

19.990000
1.999000e+01

Специфікатор формату вісімкового цілого числа %o:

#include <stdio.h> 

int main() { 
  int num = 31; 
  printf("%o\n", num); 
  return 0; 
}

Вивід:

37

Специфікатор формату шістнадцяткового цілого числа %x:

#include <stdio.h> 

int main() { 
  int c = 28; 
  printf("%x\n", c); 
  return 0; 
} 

Вивід:

1c