<分区>
我是一名学生,我的老师给了我一个已经解决的练习,在他的练习中我看到了这一行:
#define MIN(a,b) ((a) < (b) ? (a) : (b))
我以前从未使用过#define。
我不明白什么:
((a) < (b) ? (a) : (b))
代表。
看起来像如果'?'比较者不确定。任何人都可以帮助我吗?
标签 c++ c max c-preprocessor min
<分区>
我是一名学生,我的老师给了我一个已经解决的练习,在他的练习中我看到了这一行:
#define MIN(a,b) ((a) < (b) ? (a) : (b))
我以前从未使用过#define。
我不明白什么:
((a) < (b) ? (a) : (b))
代表。
看起来像如果'?'比较者不确定。任何人都可以帮助我吗?
最佳答案
它叫做条件运算符(或三元运算符)
#define MIN(a,b) ((a) < (b) ? (a) : (b))
意思是:
if ((a) < (b)){
return a;
} else {
return b;
}
如果你愿意:
int test = MIN(5,10);
测试将是 5
链接到 wiki 页面时出现问题:http://goo.gl/bw2sL
关于c++ - C中的MAX和MIN是什么? #定义函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15062967/