xMacro1.c
/*
xMacro1.c マクロの基本
*/
#include <stdio.h>
#define MAX 5 /* MAXを5と置き換える */
/* 置き換えるタイミングはコンパイルするとき */
int main(void)
{
int i;
for (i=0; i<MAX;i++){ /* for(i=0; i<5; i++){ と同じ意味になる */
printf("%d\n", i);
}
return 0;
}
実行結果
0
1
2
3
4
xMacro2.c
/*
xMacro2.c マクロの応用
*/
#include <stdio.h>
#define JIJO(x) (x) * (x) /* JIJO(x)を (x) * (x)と置き換える */
int main(void)
{
int n;
printf("5の2乗は%dです\n\n", JIJO(5)); /* xに5が入る */
printf("整数を入力して下さい: ");
scanf("%d", &n);
printf("%dの2乗は%dです\n", n, JIJO(n)); /* xに変数nの内容が入る */
return 0;
}
実行結果
5の2乗は25です
整数を入力して下さい: 12 [Enter]
12の2乗は144です
コメント