C-এ ইনপুট/আউটপুট করার সময় কম্পাইলারকে ডেটা টাইপ বুঝাতে ফরম্যাট স্পেসিফায়ার ব্যবহার করা হয়। scanf() এবং printf()-এ এটি ব্যবহার হয়। নিচে প্রধান ফরম্যাট স্পেসিফায়ারগুলো দেওয়া হলো:
| ফরম্যাট স্পেসিফায়ার | টাইপ |
|---|---|
| %c | Character |
| %d | Signed integer |
| %e / %E | Scientific notation of floats |
| %f | Float values |
| %g / %G | Similar as %e or %E |
| %hi | Signed integer (short) |
| %hu | Unsigned Integer (short) |
| %i | Signed integer |
| %l / %ld / %li | Long |
| %lf | Double |
| %Lf | Long double |
| %lu | Unsigned int or unsigned long |
| %lli / %lld | Long long |
| %llu | Unsigned long long |
| %o | Octal representation |
| %p | Pointer |
| %s | String |
| %u | Unsigned int |
| %x / %X | Hexadecimal representation |
| %n | Prints nothing |
| %% | Prints % character |
অতিরিক্ত ফরম্যাটিং অপশন:
- মাইনাস চিহ্ন (-) — লেফট অ্যালাইনমেন্ট
- % এর পর সংখ্যা — মিনিমাম ফিল্ড ვিথ
- পিরিয়ড (.) — ফিল্ড উইথ এবং প্রিসিশন আলাদা করতে
উদাহরণ
#include <stdio.h>
int main() {
char ch = 'B';
printf("%c\n", ch);
int x = 45, y = 90;
printf("%d\n", x);
printf("%i\n", y);
float f = 12.67;
printf("%f\n", f);
printf("%e\n", f);
int a = 67;
printf("%o\n", a);
printf("%x\n", a);
char str[] = "Hello World";
printf("%s\n", str);
printf("%20s\n", str);
printf("%-20s\n", str);
printf("%20.5s\n", str);
printf("%-20.5s\n", str);
return 0;
}
আউটপুট
B
45
90
12.670000
1.267000e+001
103
43
Hello World
Hello World
Hello World
Hello
Hello
scanf()-এও একই ফরম্যাট স্পেসিফায়ার ব্যবহার করা হয়।