作者ric2k1 (Ric)
看板EE_DSnP
标题Re: [问题] 请问一下?:这个运算子的意思
时间Sun Dec 16 22:58:59 2007
※ 引述《popo4231 (小泰)》之铭言:
: 标题: Re: [问题] 请问一下?:这个运算子的意思
: 时间: Sun Dec 16 22:01:00 2007
:
: 语法
: (expression evaluated as bool)?if true then return:if false then return
: 这是一个三元运算"子"
: 表示要吃三个运算"元"
: 问号前面放的是决策判断条件 此运算子在判断其真假後
: 如果为真则执行或是回传:前面的code
: 如果为假则执行或回传:後面的code
: 大概是这样吧
:
: ※ 引述《Davefox (Fox)》之铭言:
: : 看到
: : MAX(a,b) ((a>b)?a:b)
: : 不太懂 ?: 这个运算子的意思> <
: : 顺便也请问一下上面这段的意义为何谢谢
:
: --
:
※ 发信站: 批踢踢实业坊(ptt.cc)
: ◆ From: 140.112.241.177
: ※ 编辑: popo4231 来自: 140.112.241.177 (12/16 22:22)
: 推 joshepsol:不要谈政治比较好^^│││ 12/16 22:25
: ※ 编辑: popo4231 来自: 140.112.241.177 (12/16 22:25)
: 推 ric2k1:嗯, lecture note #3 有教过喔! 12/16 22:49
不过, 我想原 PO 可能是看到:
#define MAX(a,b) ((a>b)?a:b)
吧?
这里 MAX 是个 Macro,
也就是说程式里的 "MAX(a,b)" 会被在 compile time 用 "((a>b)?a:b)" 的字串代换,
比方说:
int main()
{
cout << MAX(10, 5) << endl; // will output 10
int a = MAX(3, 8); // a will = 8
int b = MAX(4, 7); // b will = 7
int c = MAX(a, b); // c = a = 8
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.121.134.219