ในส่วนนี้เราจะมาดูกันว่าสามารถเขียนมาโครหลายบรรทัดใน C ได้อย่างไร เราสามารถเขียนมาโครหลายบรรทัดเช่นฟังก์ชันได้ แต่สำหรับมาโครแต่ละบรรทัดจะต้องสิ้นสุดด้วยอักขระแบ็กสแลช '\' หากเราใช้วงเล็บปีกกา '{}' และมาโครลงท้ายด้วย '}' ก็อาจสร้างข้อผิดพลาดบางอย่าง เราจึงใส่ทั้งหมดลงในวงเล็บได้
โปรดตรวจสอบโปรแกรมต่อไปนี้เพื่อทำความเข้าใจเกี่ยวกับมาโครหลายบรรทัด
ตัวอย่าง
#include<stdio.h>
#define PRINT(x, str) ({\
printf("The number %d", x);\
printf(" is ");\
printf(#str);\
printf("\n");\
})
int main() {
int x = 10;
if(x % 2 == 0){
PRINT(x, EVEN);
}
} ผลลัพธ์
The number 10 is EVEN