引用贾扬清的回答:
C有一个鲜为人知的运算符叫”趋向于”, 写作“-->”。
比如说如果要实现一个倒数的程序,我们可以定义一个变量x,然后让它趋向于0:
#include <stdio.h>
int main(int argc, char** argv) {
int x = 10;
while (x --> 0) {
printf("%d ", x);
}
return 0;
}
会打印出:
9 8 7 6 5 4 3 2 1 0
补充:
C有另一个更鲜为人知的运算符叫做“快速趋向于”,比如同样是从10到0,这里这么写
#include <stdio.h>
int main(int argc, char** argv) {
int x = 10;
while (0 <---- x) {
printf("%d ", x);
}
return 0;
}
会打印出:
8 6 4 2
1
wittyfox 2015-01-06 19:58:56 +08:00
--> 步长是 1
----> 步长是 2 那么 ------> 步长是 3? --------> 步长是 4? --------------------> 步长是 10? |
2
xmbaozi 2015-01-06 19:59:53 +08:00 via Android
x--;x>0
下面同理,是这样吗 |
3
xmbaozi 2015-01-06 20:02:26 +08:00 via Android
我想过简化php的while写法,然后就是lz那样了。
|
4
Valyrian 2015-01-06 20:11:22 +08:00 1
别骗人了,其实是这个意思
```while ( (x--) > 0 )``` |
5
timothyye 2015-01-06 20:16:18 +08:00 via Android 1
感觉就是自增和自减吧?
那应该还有个操作符叫x++> |
6
tobyxdd 2015-01-06 20:35:49 +08:00 via Android
不就是减一再比大小吗
|
7
omegaga 2015-01-06 20:36:16 +08:00 via Android 6
这难道不是一个冷笑话吗…
|
8
nicai000 2015-01-06 20:38:15 +08:00 1
那是--和-- --, 还趋向于.... 好笑
|
9
zyue 2015-01-06 20:49:31 +08:00
哈哈 自减变成趋向于了
|
10
xpol 2015-01-06 20:56:32 +08:00
以前还被强制类型转换骗过。
|
11
mortal 2015-01-06 21:34:52 +08:00
奇技淫巧…
让我笑会先 2333 |
12
ooxxcc 2015-01-06 21:36:52 +08:00
我还真被忽悠了……
|
13
Kilerd 2015-01-06 21:42:20 +08:00 via Android
我可以理解为(x--)>0吗
|
14
xdeng 2015-01-06 21:49:19 +08:00 via iPhone
瞎说根本没这个运算符。骗小白还可以。明明是x-- 然后再> --优先级高
|
15
xdeng 2015-01-06 21:50:25 +08:00 via iPhone
<---- 是--再--再<
|
16
233 2015-01-06 21:58:55 +08:00
lz都说了,下面是他完整的回答
|
17
spacewander 2015-01-06 22:13:50 +08:00
这贴发得真不是时候,应该等到3个月后的再前5天才发。
|
18
owlsec 2015-01-06 22:17:25 +08:00
让我笑一会!妈叉啊笑死我了!
|
19
cuiweiqiang 2015-01-06 22:29:21 +08:00
上当了
|
20
pandada8 2015-01-06 22:31:00 +08:00
如此机智
|
21
erenno1 2015-01-06 23:09:22 +08:00
笑尿了~
|
22
BGLL 2015-01-06 23:19:19 +08:00
被骗了,我说怎么没听过 -->,还去查了各版C运算符表…
|
23
xbb7766 2015-01-06 23:36:36 +08:00
论空格在排版中的妙用~~
|
24
ligyxy 2015-01-06 23:37:53 +08:00
快速趋向于。。真的笑了
|
25
timekiller 2015-01-07 00:51:55 +08:00 via Android
好好笑~铜币送给你~
|
26
Delbert 2015-01-07 01:04:19 +08:00
笑死了。收藏去骗人。
|
27
muziyue 2015-01-07 04:28:39 +08:00
ls怎么这么多认真的……
|
28
guoqiao 2015-01-07 08:21:00 +08:00
本月最佳:D
|
29
ChangeTheWorld 2015-01-07 08:28:42 +08:00
楼主你真是个人才,人工智能的未来靠你了!
|
30
xiaozi 2015-01-07 08:32:52 +08:00
|
31
lushl9301 2015-01-07 08:33:21 +08:00
diao diao da...
=. =||| |
32
kokochen 2015-01-07 08:38:56 +08:00
被骗了- -
|
33
mcone 2015-01-07 09:27:12 +08:00 1
|
34
xylophone21 2015-01-07 09:27:26 +08:00
差点被骗了,哈哈
|
35
caomaocao 2015-01-07 10:31:39 +08:00
我真的拿到IDE里去试了.......
|
36
caomaocao 2015-01-07 10:32:17 +08:00
为自己的扎实基本功蠢哭了....
|
37
zealic 2015-01-07 10:42:09 +08:00
哇,好牛逼啊。
我也知道两个神奇的隐藏技巧, -->> 以及 --<< 操作符。 |
38
bastijr 2015-01-07 10:45:33 +08:00
哈哈!原来是:
while( (x--) > 0 ) |
39
semicircle21 2015-01-07 11:33:49 +08:00
2333333333333333
|
41
acros 2015-01-07 12:55:27 +08:00
我的第一个反应竟然是竟然还有编译器支持这个运算符····
我了个去···· |
42
Bitex 2015-01-07 13:09:54 +08:00
第二个例子确定可以运行?--i不是左值吧
|
43
a1996 2015-01-07 14:11:02 +08:00
妈蛋我也信了
|
44
josephok 2015-01-07 14:27:52 +08:00
真机智。
|
45
cw35 2015-01-07 14:55:36 +08:00
x-- > 0
0 < --x |
46
luikore 2015-01-07 15:18:27 +08:00
出处 (09 年, 估计还有更早的):
https://groups.google.com/forum/#!msg/comp.lang.c++.moderated/VRhp2vEaheU/IN1YDXhz8TMJ 然后 2010 年微软把这个放愚人节 blog 里了 http://blogs.msdn.com/b/ericlippert/archive/2010/04/01/somelastminutefeatures.aspx |
47
patrickstar 2015-01-07 16:39:59 +08:00
第一次看见这个操作符,哪天试一下子
|