2016 - 2024

感恩一路有你

常见的编程语言 C语言宏替换函数?

浏览量:2314 时间:2021-03-14 09:23:59 作者:admin

C语言宏替换函数?

#define SQR(X) X*X 有问题;因为宏替换只是简单的符号替换,当计算 SQR(k m)/SQR(k m) 时,是这样替换的:k m * k m / k m * k m,即:2

1 *

2 1 / 2 1 * 2 1,结果为 7, 又 a /= SQR(k m)/SQR(k m),即 a = 10 / 7,结果为 1(这里是整数运算,小数均被忽略),故选 B。所以 #define SQR(X) X*X 明显违背本意,正确的定义是: #define SQR(X) (X)*(X) (普通加减乘除运算无问题,遇到优先级教乘除更高的运算又会出现错误),最稳妥的是: #define SQR(X) ((X)*(X))。

常见的编程语言 宏定义是直接替换 宏代换函数

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。