二乗を求める関数形式マクロと、三乗を求める関数形式マクロ
#include <stdio.h> #define sqr(x) ((x) * (x)) // xの二乗値を求める #define cub(x) ((x) * (x) * (x)) // xの三乗値を求める int main(void) { int nx; double dx; printf("整数を入力してください:"); scanf("%d", &nx); printf("その数の二乗は%dで三乗は%dです。\n", sqr(nx), cub(nx)); printf("実数を入力してください:"); scanf("%lf", &dx); printf("その数の二乗は%fで\n三乗は%fです。\n", sqr(dx), cub(dx)); return (0); }
実行結果
整数を入力してください:4 その数の二乗は16で三乗は64です。 実数を入力してください:2.5 その数の二乗は6.250000で 三乗は15.625000です。