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

为什么把括号中3+2换成5之后结果会不一样呢?

为什么把括号中3+2换成5之后结果会不一样呢?

C
我想说什么来着 2016-01-22 14:02:15
#include"stdio.h"#define PI 3#define S(x) PI*x*xmain(){ int area; area=S(3+2); printf("%d\n",area); system("pause"); }
查看完整描述

2 回答

已采纳
?
MadMarical

TA贡献79条经验 获得超122个赞

你好。宏替换不会自动补全括号,如果你非要用s(3 + 2)这种比较奇怪的操作,在使用宏替换时必须要用pi * (x) * (x)这样才不会产生不同的结果。

查看完整回答
3 反对 回复 2016-01-22
  • 2 回答
  • 0 关注
  • 1401 浏览

添加回答

举报

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