当前位置:柔美女性网 >

绿色生活 >心理 >

C语言宏替换函数

C语言宏替换函数

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))。

标签: 替换 语言 函数
  • 文章版权属于文章作者所有,转载请注明 https://rmnxw.com/lvse/xinli/d12d4n.html