Оригінальна публікація: 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