Hôm nay mình có vô tình thử qua đoạn code sau và vô cùng bất ngờ:
int a = printf("abcd");
đoạn code này không báo bị lỗi, sau đấy mình đã thử thêm vài trường hợp nữa và in ra giá trị của a. Mình nhận ra rằng hàm này có trả về giá trị và giá trị đó là số ký tự trong hàm printf.
ví dụ: int a = printf("abcd");
a = 4;
int b = printf("%d\n", 1234);
b có giá trị là 5
mình có thử xem qua mã nguồn của file stido.h nhưng mà không hiểu gì cả. Cái đoạn định nghĩa hàm printf như sau:
extern int printf (const char *__restrict __format, ...);
Mọi người giải thích giúp mình hàm printf này được viết như thế nào.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?