分享下 C 语言的奇技淫巧

2015-01-06 19:47:35 +08:00
 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

7658 次点击
所在节点    程序员
48 条回复
acros
2015-01-07 12:55:27 +08:00
我的第一个反应竟然是竟然还有编译器支持这个运算符····

我了个去····
Bitex
2015-01-07 13:09:54 +08:00
第二个例子确定可以运行?--i不是左值吧
a1996
2015-01-07 14:11:02 +08:00
妈蛋我也信了
josephok
2015-01-07 14:27:52 +08:00
真机智。
cw35
2015-01-07 14:55:36 +08:00
x-- > 0
0 < --x
luikore
2015-01-07 15:18:27 +08:00
patrickstar
2015-01-07 16:39:59 +08:00
第一次看见这个操作符,哪天试一下子
mingyun
2015-01-11 16:37:45 +08:00
@xiaozi 有意思

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

https://www.v2ex.com/t/159776

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

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

© 2021 V2EX