无参宏定义
在C语言源程序中允许用一个标识符来表示一个字符串,称为“宏“。在C语言中,“宏”分为有参数和无参数两种。无参宏的宏名后不带参数。其定义的一般形式为:#define 标识符 字符串
#define M (y*y+3*y)
它的作用是指定标识符M来代替表达式(yy+3y)。
#include "stdio.h"
#define M (y*y+3*y)
int main(void){
int s,y;
printf("input a number: ");
scanf("%d",&y);
s=3*M+4*M+5*M;
printf("s=%d\n",s);
return 0;
}
上例程序中首先进行宏定义,定义M来替代表达式(yy+3y),在s=3M+4M+5* M中作了宏调用。在预处理时经宏展开后该语句变为:
s=3*(y*y+3*y)+4*(y*y+3*y)+5*(y*y+3*y);