プログラミング+α学習ブログ

勉強したことの備忘録です。

二つの値を交換する関数形式マクロを定義するプログラム

#include <stdio.h>

#define swap(type, x, y) do { type temp = x; x = y; y = temp; } while (0)

int main(void)
{
    int na, nb;
    
    puts("二つの整数を入力せよ。");
    printf("整数A:"); scanf("%d", &na);
    printf("整数B:"); scanf("%d", &nb);
    
    swap(int, na, nb); // 整数値を交換
    puts("\nAとBの値を交換");
    printf("整数A=%d\n", na);
    printf("整数B=%d\n", nb);
    
    return (0);
}

実行結果

二つの整数を入力せよ。
整数A:5
整数B:10

AとBの値を交換
整数A=10
整数B=5