整数の2乗と浮動小数点数2乗 (関数マクロ)
明解C言語 入門編 > 8. いろいろなプログラムを作ってみよう >
整数の2乗と浮動小数点数2乗 (関数マクロ)
C
#include <stdio.h>#define sqr(x) ((x) * (x))
int sqr_int(int x)
{
return x * x;
}
double sqr_double(double x)
{
return x * x;
}
int main(int argc, char* argv[])
{
int nx = 3;
double dx = 4.25;printf("%d * %d = %d\n", nx, nx, sqr_int(nx));
printf("%d * %d = %d\n", nx, nx, sqr(nx));
putchar('\n');printf("%lf * %lf = %lf\n", dx, dx, sqr_double(dx));
printf("%lf * %lf = %lf\n", dx, dx, sqr(dx));
putchar('\n');return 0;
}
実行結果
T:\>lesson060\Project1.exe
3 * 3 = 9
3 * 3 = 94.250000 * 4.250000 = 18.062500
4.250000 * 4.250000 = 18.062500