C语言高手帮忙解释下这个程序,谢谢了。在线等回答。麻烦了。这个程序输出的结果是什么?为什么不是1.5?

#defineN5#defineM1N*3#include"typel.h"#defineM2N*2main(){inti;i=M1/M2;printf("%d\n",i... #define N 5
#define M1 N*3
#include "typel.h"
#define M2 N*2
main()
{
int i;
i=M1/M2;
printf("%d\n",i);
}
展开
 我来答
松甜恬0Je4ba
2011-11-28 · TA获得超过2.6万个赞
知道大有可为答主
回答量:7475
采纳率:100%
帮助的人:3432万
展开全部
#define宏都是直接替换的,而不会计算后再替换。
i= M1/M2= N*3/N*2 = 5*3/5*2 = 15/5*2 = 6;
而不是 M1=15 M2=10 i=1.5
追问
伙计,又是你,你直接说你扣扣吧,我有问题就问你,你可以当我C语言的导师了。 。
lcfsy1993
2011-11-28
知道答主
回答量:74
采纳率:0%
帮助的人:25.4万
展开全部
把int 改成float %d 改成%f 就可以了
追问
为什么int改为float就行了?还有,结果为什么是6?
追答
int 输出的是整形 不会输入小数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
心中时S
2011-11-28 · TA获得超过1051个赞
知道小有建树答主
回答量:501
采纳率:0%
帮助的人:271万
展开全部
N*3/N*2
5*3/5*2=6
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式