您的位置:首页 > 编程语言 > C语言/C++

【好程序员笔记分享】—— C语言中的宏定义

2015-06-17 16:39 288 查看
前面的文章中,我们学过了函数,今天我们来学习宏定义。先来看一个简单的例子:

#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了。
今天就学这么多,明天继续。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: