C++11 什么是;((x<;y)?0:(x-y))。“;是指C++;?

C++11 什么是;((x<;y)?0:(x-y))。“;是指C++;?,c++11,C++11,这是一个函数 int find(int x, int y){ return( (x<y) ? 0 : (x-y) ); } intfind(intx,inty){ return((x非常有趣的代码,可以找到一个最小值,它可以工作 唯一的限制是,数字必须是正数! 含义很简单:当x0}(x,y的零正部分):-)它适用于x,y>=0的情况。因此它适用于非负数。同意,但证明需要更多的条目:-)要点,它不适用于否定性你的例子说“负数它不起作用”。0不是负数,它适用于你的例子。所以你

这是一个函数

int find(int x, int y){
    return( (x<y) ? 0 : (x-y) );
    }
intfind(intx,inty){

return((x非常有趣的代码,可以找到一个最小值,它可以工作

唯一的限制是,数字必须是正数!

含义很简单:当
x
时,我们返回
0
,否则我们返回
x-y

现在,考虑所有可能的情况,0<x,y:

x
    find(x, find(x,y)) == find(x, 0) == x - 0 == x == min(x, y)
x==y:

    find(x, find(x,y)) == find(x, x - y) == find(x, 0) == x - 0 == x == min(x, y)
x>y:

    find(x, find(x,y)) == find(x, x - y) == x - (x - y) == y == min(x, y)

对于负数,它不起作用。

非常有趣的代码,找到一个最小值,它就起作用了

唯一的限制是,数字必须是正数!

含义很简单:当
x
时,我们返回
0
,否则我们返回
x-y

现在,考虑所有可能的情况,0<x,y:

x
    find(x, find(x,y)) == find(x, 0) == x - 0 == x == min(x, y)
x==y:

    find(x, find(x,y)) == find(x, x - y) == find(x, 0) == x - 0 == x == min(x, y)
x>y:

    find(x, find(x,y)) == find(x, x - y) == x - (x - y) == y == min(x, y)

对于负数,它不起作用。

这是一个带条件运算符的三元表达式。
如果(当我们执行
find(x,find(x,y))
时,它将给出
x
y
的最小值。实际上,它不起作用。
find(-1,find(-1,1))
给出0。它只适用于非负的
x
y
。这是一个带条件运算符的三元表达式。
如果(当我们执行
find(x,find(x,y))
时,它将给出
x
y
的最小值。实际上,它没有。
find(-1,find(-1,1))
给出0。它只适用于非负数
x
y
。它适用于x,y>=0的情况。因此它适用于非负数。同意,但证明需要更多的条目:-)要点,它不适用于否定性您的示例说“负数不起作用”.0不是负数,在您的示例中也可以使用。因此您确实介绍了它。它不需要更多的条目。“数字必须是正数”根本不是真的。:)好吧……同意。顺便说一句,我们可以将它扩展到负数:表达式返回此并集的最小值:{0u{x,y>0}(x,y的零正部分):-)它适用于x,y>=0的情况。因此它适用于非负数。同意,但证明需要更多的条目:-)要点,它不适用于否定性你的例子说“负数它不起作用”。0不是负数,它适用于你的例子。所以你涵盖了它。它不需要更多的条目。“数字必须是正的”根本不是真的。:)好吧…同意。顺便说一句,我们可以将其扩展为负的:表达式返回此并集的最小值:{0u{x,y>0}(x,y的零正部分):-)