上記サイトに以下のコードがありましたが、マクロでswapを定義すると何故ポインタを渡さなくても、数字を入れ替えることができるのでしょうか?
C
1#include <stdio.h> 2 3#define swap(a, b) \ 4 typeof(a) __tmp = (a); (a) = (b); (b) = __tmp; 5 6int main(void) 7{ 8 int a = 0, b = 1; 9 swap(a, b); 10 printf("%d %d\n", a, b); 11 return 0; 12}
実行結果
1 0
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/07/18 02:08