程序中用双引号括起来的宏在预处理的时候是不会被宏替换的!因为在 C 语言中,用双引号括起来表示的是字符串。
#include<stdio.h>
#define Hello 100
int main()
{
printf("Hello");
return 0;
}
宏定义用得最多的地方是在数组中用于指定数组的长度
# include <stdio.h>
# define NUM 5
int main(void)
{
int i, j = NUM;
int a[NUM] = {0};
printf("请输入%d个数:", j);
for (i=0; i<NUM; ++i)
{
scanf("%d", &a[i] );
}
for (i=0; i<NUM; ++i)
{
printf("%d\x20", a[i]);
}
printf("\n");
return 0;
}
请输入5个数:5 4 3 2 1
5 4 3 2 1