『新・明解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;
}

コメント

 特になし。

 


書籍情報



Copyright (C) 2016 "HYOGOKURUMI" All Rights Reserved./「来未炳吾・平極ルミ・HYOGOKURUMI」の発達障害考察を主とした全ての発信は、相互不干渉など特別な約束をした者達を除き、どなたでもご活用できます。ただし著作権は放棄しておりません。あしからずご了承ください。詳細は著作権に関するガイドラインをご一読ください。/「HYOGOKURUMI.site」は、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイトプログラムである、Amazonアソシエイト・プログラムの参加者です。