如何在C中定义多行宏定义?

时间:2022-07-24
本文章向大家介绍如何在C中定义多行宏定义?,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

请参阅下面的示例,其中我将交换两个变量的值。 do-while(0)结构很不错

#include <stdio.h> 
  
#define swap(x,y,T) do { 
    T temp = (*x);
    (*x) = (*y); 
    (*y) = temp; 
} while (0)
 
 
int main(void) 
{ 
  int a = 5;
  int b = 9;
  
  printf("Value of a and b before swapingn");
  printf("a = %dn",a);
  printf("b = %dn",b);
  
  //Swap the number
  swap(&a,&b,int);
  
  
  printf("nnValue of a and b After swapingn");
  printf("a = %dn",a);
  printf("b = %dn",b);
  
    return 0; 
}