分享下 C 语言的奇技淫巧

2015 年 1 月 6 日
 alexapollo

引用贾扬清的回答:

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

我的完整回答(语法不一样好难贴过来): http://zhi.hu/dmhV

8228 次点击
所在节点    程序员
48 条回复
wittyfox
2015 年 1 月 6 日
--> 步长是 1
----> 步长是 2
那么
------> 步长是 3?
--------> 步长是 4?
--------------------> 步长是 10?
xmbaozi
2015 年 1 月 6 日
x--;x>0
下面同理,是这样吗
xmbaozi
2015 年 1 月 6 日
我想过简化php的while写法,然后就是lz那样了。
Valyrian
2015 年 1 月 6 日
别骗人了,其实是这个意思
```while ( (x--) > 0 )```
timothyye
2015 年 1 月 6 日
感觉就是自增和自减吧?
那应该还有个操作符叫x++>
tobyxdd
2015 年 1 月 6 日
不就是减一再比大小吗
omegaga
2015 年 1 月 6 日
这难道不是一个冷笑话吗…
nicai000
2015 年 1 月 6 日
那是--和-- --, 还趋向于.... 好笑
zyue
2015 年 1 月 6 日
哈哈 自减变成趋向于了
xpol
2015 年 1 月 6 日
以前还被强制类型转换骗过。
mortal
2015 年 1 月 6 日
奇技淫巧…
让我笑会先 2333
47jm9ozp
2015 年 1 月 6 日
我还真被忽悠了……
Kilerd
2015 年 1 月 6 日
我可以理解为(x--)>0吗
46fo
2015 年 1 月 6 日
瞎说根本没这个运算符。骗小白还可以。明明是x-- 然后再> --优先级高
46fo
2015 年 1 月 6 日
<---- 是--再--再<
233
2015 年 1 月 6 日
lz都说了,下面是他完整的回答
spacewander
2015 年 1 月 6 日
这贴发得真不是时候,应该等到3个月后的再前5天才发。
owlsec
2015 年 1 月 6 日
让我笑一会!妈叉啊笑死我了!
cuiweiqiang
2015 年 1 月 6 日
上当了
pandada8
2015 年 1 月 6 日
如此机智

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/159776

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX