为了账号安全,请及时绑定邮箱和手机立即绑定

运行结果,并给出解释

运行结果,并给出解释

C
yuantongxin 2015-11-25 16:07:18
#include <stdio.h> #include <math.h> #define ROUND(x,m) ((int)((x)*pow(10,m)+0.5)/pow(10,m)) int main() { printf("%f,%f", ROUND(12.3456,1),ROUND(12.3456,2));      return 0; }
查看完整描述

1 回答

已采纳
?
sheepbao

TA贡献2条经验 获得超0个赞

以12.3456为例 ,宏展开是 (int)(123.456)/10 ,因为强制运算符,优先级比算术运算符高,所以123.456先进行强制转化得到123,再除以10得到12.3 ,打印%f格式,得到12.300000

查看完整回答
反对 回复 2015-11-25
  • 1 回答
  • 1 关注
  • 1360 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信