二つの値を交換する関数形式マクロを定義するプログラム
#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