c++ - C中的MAX和MIN是什么? #定义函数

标签 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/

相关文章:

C - 当程序读取文件时,不会注意到对文本文件所做的更改

c++ - 如何以原子方式更新最大值?

c++ - 查找一个 vector 的 max_element,其中一个成员用于决定它是否是最大值

mysql - SQL随机查询添加where条件

c - 德尔福指针类型转换

c++ - PE文件中的MZ签名有什么用?

c++ - 如何测试空白 c++ :

c++ - 即使调用了notify_all,工作线程也会在condition_variable处保持等待

c - 使用 glib-library 的 GArray 替换给定索引的值

c++ - 具有模板化运算符的条件调试输出类<<