『新・明解C言語 入門編 第2版』演習問題解答例 8ー3

演習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;
}

コメント

 特になし。

 


書籍情報


コメント

タイトルとURLをコピーしました