博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
宏定义详细信息
阅读量:7218 次
发布时间:2019-06-29

本文共 534 字,大约阅读时间需要 1 分钟。

演示示例代码:

#define PERIMTER(X,Y) 2*X+2*Yint main(){	int length = 5;	int width = 2;	int high = 8;	int result = 0;	result = PERIMTER(length,width)*high;	printf("result = %d \n" , result);}

问题分析:

上述代码是实现计算长方体体积,先通过宏计算出矩形周长,再乘以高。

但实际结果为42,计算错误,原因是。宏定义仅仅是文本替换,替换后的语句为:

result = 2*length + 2*width*high;
因此,用于表达式的宏,最好在定义时在总体语句上加个括号。

正确代码:

#define PERIMTER(X,Y) (2*X+2*Y)int main(){	int length = 5;	int width = 2;	int high = 8;	int result = 0;	result = PERIMTER(length,width)*high;	printf("result = %d \n" , result);}

版权声明:本文博主原创文章,博客,未经同意不得转载。

你可能感兴趣的文章
Kubernetes 学习7 Pod控制器应用进阶2
查看>>
Python字符串相加以及字符串格式化
查看>>
11.08 轮换行值
查看>>
AIX lsof 命令
查看>>
微信小程序个人项目(node.js+koa2+koa-router+middleware+mysql+node-mysql-promise+axios)
查看>>
C#温故而知新学习系列之面向对象编程—类的数据成员(三)
查看>>
列表字典推导式
查看>>
HDOJ 1228 A+B(map水题)
查看>>
intellij IDEA 导入包的方法·
查看>>
Python之路番外:PYTHON基本数据类型和小知识点
查看>>
转:matlab+spider+weka
查看>>
步步为营 .NET 设计模式学习笔记 十五、Composite(组合模式)
查看>>
angular通过路由实现跳转 resource加载数据
查看>>
python try except, 异常处理
查看>>
字符串中的各种方法
查看>>
创建文件夹、新建txt文件
查看>>
js form表单 鼠标移入弹出提示功能
查看>>
LFS7.10——准备Host系统
查看>>
Redis.py客户端的命令总结【三】
查看>>
mac 安装secureCRT
查看>>