Hàm printf dùng để in chuỗi định dạng. Các ký tự chuyển đổi (conversion characters) phổ biến:
- %d – số nguyên có dấu (decimal)
- %u – số nguyên không dấu (unsigned decimal)
- %x – số nguyên hệ thập lục phân (hexadecimal)
- %o – số nguyên hệ bát phân (octal)
- %s – chuỗi ký tự (string)
- %c – ký tự đơn (single character)
- %f – số thực dấu chấm động cố định (fixed decimal)
- %e – ký pháp khoa học (scientific notation)
- %g – dùng %f hoặc %e tùy cái nào ngắn hơn
Ví dụ
Chương trình minh họa các ký tự chuyển đổi và kiểu dữ liệu:
/* printf Conversion Characters and Types */
#include <stdio.h>
main() {
int i = -10;
unsigned int ui = 10;
float x = 3.56;
double y = 3.52;
char ch = 'z';
char *string_ptr = "any old string";
printf("signed integer %d\n", i);
printf("unsigned integer %u\n", ui);
printf("This is wrong! %u\n", i); // In sai định dạng
printf("Hexadecimal %x %x\n", i, ui);
printf("Octal %o %o\n", i, ui);
printf("Float and double %f %f\n", x, y);
printf("Scientific %e %e\n", x, y);
printf("Shortest %g %g\n", x, y);
printf("single character %c\n", ch);
printf("whole string -> %s", string_ptr);
}
Kết quả
signed integer -10 unsigned integer 10 This is wrong! 4294967286 Hexadecimal fffffff6 a Octal 37777777766 12 Float and double 3.560000 3.520000 Scientific 3.560000e+000 3.520000e+000 Shortest 3.56 3.52 single character z whole string -> any old string