Topic: 初学者问,( i<rvi ? -1 : (i== rvi ? 0 : 1) 是什么意思 )

  Print this page

1.初学者问,( i<rvi ? -1 : (i== rvi ? 0 : 1) 是什么意思 ) Copy to clipboard
Posted by: holylz
Posted on: 2004-09-07 11:30

i<rvi ? -1 : (i== rvi ? 0 : 1)

是什么意思啊,

2.Re:初学者问, [Re: holylz] Copy to clipboard
Posted by: why
Posted on: 2004-09-07 11:37

The ? : operator is a conditional operator that is short-hand for an if-else statement.

op1 ? op2 : op3

The ?: operator returns op2 if op1 is true or returns op3 if op1 is false.

e.g.
int x = ( i<rvi ? -1 : (i== rvi ? 0 : 1) );
is equivalent to
int x;
if (i < rvi) {
x = -1;
} else {
if (i == rvi) {
x = 0;
} else {
x = 1;
}
}

3.Re:初学者问,( i<rvi ? -1 : (i== rvi ? 0 : 1) 是什么意思 ) [Re: holylz] Copy to clipboard
Posted by: cxp108
Posted on: 2004-09-07 11:46

很糟糕的表达方式

建议不要使用

曾经被几个“老手”的类似代码害得很惨

4.Re:初学者问,( i<rvi ? -1 : (i== rvi ? 0 : 1) 是什么意思 ) [Re: holylz] Copy to clipboard
Posted by: holylz
Posted on: 2004-09-07 11:54

谢谢,呵呵,我知道了,

5.Re:初学者问,( i<rvi ? -1 : (i== rvi ? 0 : 1) 是什么意思 ) [Re: holylz] Copy to clipboard
Posted by: booolee
Posted on: 2004-09-07 12:50

非常好的表达方式,精辟简洁,多用就会习惯

6.Re:初学者问,( i<rvi ? -1 : (i== rvi ? 0 : 1) 是什么意思 ) [Re: booolee] Copy to clipboard
Posted by: nothing
Posted on: 2004-09-07 12:53

booolee wrote:
非常好的表达方式,精辟简洁,多用就会习惯


4242

7.Re:初学者问,( i<rvi ? -1 : (i== rvi ? 0 : 1) 是什么意思 ) [Re: holylz] Copy to clipboard
Posted by: littledeer1974
Posted on: 2004-09-07 15:48

大家来投票

我觉得可读性比较低(虽说楼上说的我也能明白...)

8.Re:初学者问,( i<rvi ? -1 : (i== rvi ? 0 : 1) 是什么意思 ) [Re: holylz] Copy to clipboard
Posted by: holylz
Posted on: 2004-09-07 16:18

做地基的怎么说啊,哎,见仁见智,呵呵,都被我说了,

9.Re:初学者问,( i<rvi ? -1 : (i== rvi ? 0 : 1) 是什么意思 ) [Re: holylz] Copy to clipboard
Posted by: littledeer1974
Posted on: 2004-09-07 16:20

我也知道这个道理哦
其实就是想知道那种想法的人多一点哦
大家不要想太多,就加如你的想法好了

10.Re:初学者问,( i<rvi ? -1 : (i== rvi ? 0 : 1) 是什么意思 ) [Re: holylz] Copy to clipboard
Posted by: alpacino
Posted on: 2004-09-23 17:35

"i<rvi ? -1 : (i== rvi ? 0 : 1)”
简洁到是简洁,对于我们这些初学者来说也不至于象楼上说的“非常好的表达方式”,知道怎么用就行,能不用就不用。
就比如“++”“--”之流,我问你“x+++x+y--+x+++z--+v"等于多少?我当然相信你算的出来,它也很简洁,但你编程时真的会用这种方式吗?
再比如:
"x= i<rvi ? -1 : (i== rvi ?-1:(i<rvi ? -1 : (i== rvi ?( i<rvi ? -1 : (i== rvi ? 0 : 1) ) : 1)))",x=?。
我当然相信你看的懂,算的出,但你真的愿意别人把有这种代码块的程序片段通过你们公司的主管也就是你的上级在星期天你 休息的时候给你去完成含有这种代码块的程序片段的程序所剩下的不希望含有这种代码块的程序片段的程序吗?我看不会吧?
你自己知道就行了,何必非要加上“非常好的表达方式,精辟简洁,多用就会习惯 ”来显示自己有多高的水平呢?
我上面那句没加标点符号的话,你看起来是不是觉得很不爽?“己所不欲,勿施与人“,程序不是一味的简洁,更重要的是它的连续性,一个项目不是一个人一天就能完成的,要15个人3年完成的项目,你认为如何保证它的连续性,有人中途辞职怎么办?你来负责解释这些虽然无错但不是每个人都能保证完全看懂的代码?开玩笑,等你解释完了,项目也取消了;解释不出来,就的花时间重写,你陪钱啊?
所以程序不一定要写的多牛,能实现功能,人家能参与进来共同修改,这就是一个编程团队所需要的程序员。
这些话你要是看了不爽,我也没办法,事实就是这样,谁叫你不知道深浅,靠!

哦,我的QQ是357071581。
不爽可以找我,问问题就免了,我也他奶奶的是初学者!

11.Re:初学者问,( i<rvi ? -1 : (i== rvi ? 0 : 1) 是什么意思 ) [Re: alpacino] Copy to clipboard
Posted by: youlq
Posted on: 2004-09-23 17:49

alpacino wrote:
"i<rvi ? -1 : (i== rvi ? 0 : 1)”
简洁到是简洁,对于我们这些初学者来说也不至于象楼上说的“非常好的表达方式”,知道怎么用就行,能不用就不用。
就比如“++”“--”之流,我问你“x+++x+y--+x+++z--+v"等于多少?我当然相信你算的出来,它也很简洁,但你编程时真的会用这种方式吗?
再比如:
"x= i<rvi ? -1 : (i== rvi ?-1Sadi<rvi ? -1 : (i== rvi ?( i<rvi ? -1 : (i== rvi ? 0 : 1) ) : 1)))",x=?。
我当然相信你看的懂,算的出,但你真的愿意别人把有这种代码块的程序片段通过你们公司的主管也就是你的上级在星期天你 休息的时候给你去完成含有这种代码块的程序片段的程序所剩下的不希望含有这种代码块的程序片段的程序吗?我看不会吧?
你自己知道就行了,何必非要加上“非常好的表达方式,精辟简洁,多用就会习惯 ”来显示自己有多高的水平呢?
我上面那句没加标点符号的话,你看起来是不是觉得很不爽?“己所不欲,勿施与人“,程序不是一味的简洁,更重要的是它的连续性,一个项目不是一个人一天就能完成的,要15个人3年完成的项目,你认为如何保证它的连续性,有人中途辞职怎么办?你来负责解释这些虽然无错但不是每个人都能保证完全看懂的代码?开玩笑,等你解释完了,项目也取消了;解释不出来,就的花时间重写,你陪钱啊?
所以程序不一定要写的多牛,能实现功能,人家能参与进来共同修改,这就是一个编程团队所需要的程序员。
这些话你要是看了不爽,我也没办法,事实就是这样,谁叫你不知道深浅,靠!


呵呵,有意思!有道理!同意。。。

个人觉得一重就够了,多了容易出错。

12.Re:初学者问,( i<rvi ? -1 : (i== rvi ? 0 : 1) 是什么意思 ) [Re: youlq] Copy to clipboard
Posted by: logix
Posted on: 2004-09-23 23:34

youlq wrote:
呵呵,有意思!有道理!同意。。。

个人觉得一重就够了,多了容易出错。


同意,一重不妨用用,有些场合显得比较简练;多重影响会可读性,没必要。

13.Re:初学者问,( i<rvi ? -1 : (i== rvi ? 0 : 1) 是什么意思 ) [Re: holylz] Copy to clipboard
Posted by: jameszhang
Posted on: 2004-09-24 08:35

可以写个解释程序,看不懂就让程序翻译,呵呵

14.Re:初学者问,( i<rvi ? -1 : (i== rvi ? 0 : 1) 是什么意思 ) [Re: holylz] Copy to clipboard
Posted by: wxbmailbox
Posted on: 2004-09-24 09:19

可读性很差,不过意思应该差不多

15.Re:初学者问,( i<rvi ? -1 : (i== rvi ? 0 : 1) 是什么意思 ) [Re: holylz] Copy to clipboard
Posted by: littledeer1974
Posted on: 2004-09-24 09:28

恩,软件开发是团队的工作,也是工程,尤其中途换人什么的,的确是,谁都能看懂的代码最重要了,有的时候也许需要故意写的简单点,还得多加Comment什么的(一个人负责一个项目,从头到尾没有他人参与的也许情况不同......不过这样的好象不多吧,虽说我现在是,可是有的时候连自己写的东西都看不懂,coding的风格呀规范呀,可读性呀什么的,真的是很重要很重要的,我就不多说了Approved)

个人意见仅供参考Wink

16.Re:初学者问,( i<rvi ? -1 : (i== rvi ? 0 : 1) 是什么意思 ) [Re: holylz] Copy to clipboard
Posted by: dennisjl
Posted on: 2004-09-24 13:49

代码是写给别人看的, 也包括两个月后的你。 所以越清晰越简单就越好。
当然上面的例子也还算勉强接受, 不至于引起这么强烈的反应吧? ^_^
如果比它再复杂点就不可取了。


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923