演習8ー3
問: type型の二つの値を交換する、関数式マクロを次の形式で定義せよ。たとえば、int型の変数xとyの値が5と10であるときに、swap(int, x, y)を呼び出した後は、xとyには10と5が格納されていなければならない。
swap(type, a, b)
// Ex0803.c
#include <stdio.h>
#define swap(type, a, b) do{ type t = a; a = b; b = t; }while(0)
int main(void)
{
int x, y;
printf("整数を入力せよ:");
scanf("%d", &x);
printf("整数を入力せよ:");
scanf("%d", &y);
printf("交換前 x=%d y=%d\n", x, y);
swap(int, x, y);
printf("交換後 x=%d y=%d\n", x, y);
return 0;
}
コメント
特になし。
書籍情報
コメント