[1] 授業単元:C
[2] 問題文(含コード&リンク):
type型の二つの値を交換する関数形式マクロ swap(type, a, b) を定義せよ. 例えば,int型の変数x, yの値が5と10であるとき,swap(int, x, y)を呼び出した後は,x, yには,10と5が格納されていなければならない.
[3] 環境
 [3.1] OS:iMac
 [3.2] コンパイラ(バージョン):gcc
 [3.3] 言語:C
[4] 期限 :無期限
[5] その他の制限:
#include <stdio.h>
#define swap(type, a, b){
type a, b, c;
c = a;
a = b;
b = c;
}

int main(){

int x, y;
swap(int, x, y);
x = 5;
y = 10;
printf("%d,%d", x, y);
}

としたのですが、次のようなエラーが出ます。