ในส่วนนี้เราจะมาดูกันว่าสามารถเขียนมาโครหลายบรรทัดใน 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