巨集定義中的分號
阿新 • • 發佈:2020-12-08
技術標籤:c語言
程式碼
// An highlighted block
#include <stdio.h>
#define swap1(x,y) t = x; x = y; y = t;
#define swap2(x,y) t = x,x = y,y = t;
#define swap3(x,y) t = x; x = y; y = t
#define swap4(x,y) t = x,x = y,y = t
int main()
{
int x = 1;
int y = 2;
int t = 0;
t = x,x = y,y = t;
printf("x = %d,y = %d,t = %d\n" , x,y,t);
swap1(x,y)
printf("x = %d,y = %d,t = %d\n", x,y,t);
swap2(x,y)
printf("x = %d,y = %d,t = %d\n", x,y,t);
swap3(x,y);
printf("x = %d,y = %d,t = %d\n", x,y,t);
swap4(x,y);
printf("x = %d,y = %d,t = %d\n", x,y,t);
return 0;
}
執行結果
結論
如果巨集定義最後自己有分號,呼叫時可以不加分號
// An highlighted block
#define swap1(x,y) t = x; x = y; y = t;
// An highlighted block
swap1(x,y) //不加分號正常執行
一行語句可以執行多個賦值語句,用逗號隔開即可
// An highlighted block
t = x,x = y,y = t;