返回信息流#include "stdafx.h"
#include "stdio.h"
#define MIN(x,y) (x)<(y)?(x):(y)
void main()
{int i=10,j=15,k;
k=10*MIN(i,j);
printf("%d\n",k);
}
运行结果是15,这是什么鬼????
这是一条镜像帖。来源:北邮人论坛 / cpp / #87845同步于 2015/7/10
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
C语言小白问题,求教大神!
captainprice
2015/7/10镜像同步6 回复
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
10*(x)<(y) ? (x) : (y) 结果就是 x 或者 y啊
带入题中 就是
10*i < j ? i :j
->10*10 <15 ? 10 :15
->15
嗯嗯,貌似改了就可以了,谢谢啦
【 在 FromMars 的大作中提到: 】
: k=10*MIN(i,j);
: 改为
: k=10*(MIN(i,j));
: ...................
那你知道为什么吗?推荐看看编译的知识,宏定义的东西在预编译的时候是怎么处理的
【 在 captainprice 的大作中提到: 】
: 嗯嗯,貌似改了就可以了,谢谢啦
嗯嗯,好的,谢谢你
【 在 FromMars 的大作中提到: 】
: 那你知道为什么吗?推荐看看编译的知识,宏定义的东西在预编译的时候是怎么处理的