Tôi muốn biết lý do đằng sau đầu ra của mã này. Tôi không thể đưa ra câu trả lời.C tiền xử lý: xâu chuỗi macro và nhận dạng macro
#define f(a,b) a##b
#define g(a) #a
#define h(a) g(a)
void main()
{
printf("%s %s",h(f(1,2)),g(f(1,2)));
}
PS: đầu ra là 12 f(1,2)
. Tôi nghĩ rằng đó là 12 12
hoặc f(1,2) f(1,2)
.
chỉ để tìm hiểu tiền xử lý làm việc ... – Dhatri
@cnicutar Tôi nghĩ rằng ông đã tìm thấy nó ở đây: http://cracktheinterviewers.blogspot.com/2012_03_01_archive.html – Dave
nó không được viết bởi tôi .. nó đã được yêu cầu trong một thử nghiệm. – Dhatri