前面的文章中,我们学过了函数,今天我们来学习宏定义。先来看一个简单的例子:
#include <stdio.h>
#define average(a,b) ((a+b)/2)
int main()
{
int a = average(8,16);
printf("平均值是:%d",a);
return 0;
}
我们定义宏的时候,一般形式是这样的: #define 宏名 字符串 (注意:后面不要带分号)。注意((a+b)/2)中,一定要带括号,不然会出现一些意想不到的结果。比如,下面的代码就是不带括号导致输出结果不是原来想要的结果。
#include <stdio.h>
#define sum(a,b) a+b
int main()
{
int a = sum(8,12)/sum(1,3);
printf("%d",a);
return 0;
}
由于第2行中a+b没有带括号导致计算结果为23,正常下我们想要的结果是5。只需要在第二行a+b加上括号,更改为#define sum(a,b) ((a)+(b))即可。这样结果就是5了。
今天就学这么多,明天继续。