搜索
bottom↓
回复: 239
打印 上一主题 下一主题

绝大部分人不知道的C语言运算符

  [复制链接]

出0入0汤圆

跳转到指定楼层
1
发表于 2015-1-7 12:59:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

C有一个鲜为人知的运算符叫”趋向于”, 写作“-->”。比如说如果要实现一个倒数的程序,我们可以定义一个变量x,然后让它趋向与0:


  1. #include <stdio.h>

  2. int main(int argc, char** argv) {
  3.   int x = 10;
  4.   while (x --> 0) {
  5.     printf("%d ", x);
  6.   }
  7.   return 0;
  8. }
复制代码


会打印出:
  1. 9 8 7 6 5 4 3 2 1 0
复制代码


引用自: http://www.zhihu.com/question/27417946

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

2
发表于 2015-1-7 13:02:11 | 只看该作者
好吧, 确实不认识

出0入0汤圆

3
发表于 2015-1-7 13:04:22 来自手机 | 只看该作者
更关心这个运算符编译后会变成什么

出0入0汤圆

4
发表于 2015-1-7 13:05:37 | 只看该作者
又学了一招,确实是不知道!

出0入0汤圆

5
发表于 2015-1-7 13:06:19 | 只看该作者
本帖最后由 LCRPN 于 2015-1-7 13:30 编辑

和 “while (x != 0)” 有什么区别?


----------------------

哦,没仔细看。

难道是: 如果 x > 被比较的数, 就自减 1 ;
             如果 x < 被比较的数, 就自加 1 ?

----------------------

最新惊天地泣鬼神的发现,创造性地尝试了一下:
  1. #include "stdio.h"

  2. int main(int argc, char** argv) {
  3.         int x = -10;
  4.         while (x ++< 5)
  5.         {
  6.                 printf("%i ", x);
  7.         }
  8.         printf("\n%i \n", x);
  9.         return 0;
  10. }
复制代码


输出:
  1. -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5
  2. 6
  3. Press any key to continue
复制代码


又试了一下:
while (x ++ < 5)

while (x -- < 0)
恍然大悟......

结论,这根本就不是啥新运算符,就是 "--" 和 ">" 两个运算、或者是 "++" 和 "<" 两个运算符放在了一起。

出0入0汤圆

6
发表于 2015-1-7 13:06:41 | 只看该作者
还真没见过

出0入0汤圆

7
发表于 2015-1-7 13:08:21 | 只看该作者
有没有试过变量是float类型的?  而且什么是趋向于啊? 总觉得趋向于是一种模拟量的感觉, 你这个算是有步进的吧

出0入0汤圆

8
发表于 2015-1-7 13:08:33 | 只看该作者
我觉得就是一个(--) 加一个(>) ,以这个例子来看就是while 先判断x是否 > 0, 然后再x--

出0入0汤圆

9
发表于 2015-1-7 13:08:41 | 只看该作者
我怎么看是while(( x--)>0  )呢

出10入210汤圆

10
发表于 2015-1-7 13:10:48 | 只看该作者
RainerZhang 发表于 2015-1-7 13:08
我觉得就是一个(--) 加一个(>) ,以这个例子来看就是while 先判断x是否 > 0, 然后再x-- ...


x --›
x与--之间有个空格,就不一样了。

出0入85汤圆

11
发表于 2015-1-7 13:11:50 | 只看该作者
应该是while ((x--) > 0)
LZ还可以试试x ++> 100

出0入16汤圆

12
发表于 2015-1-7 13:13:45 | 只看该作者
x-->0 不就是x--大于0吗?
有没有人可以试下x++<100?

出0入0汤圆

13
发表于 2015-1-7 13:17:30 | 只看该作者
x-- 炸鱼 之前也被同学骗了

出0入0汤圆

14
发表于 2015-1-7 13:19:05 来自手机 | 只看该作者
还没看完就知道楼主要挨批,打好基础很重要,哈哈

出0入0汤圆

15
发表于 2015-1-7 13:19:23 | 只看该作者
晕,我还被忽悠进去了

出0入42汤圆

16
发表于 2015-1-7 13:19:37 来自手机 | 只看该作者
真没听说过这符号,楼主自创的。

出0入0汤圆

17
发表于 2015-1-7 13:20:20 | 只看该作者
明明是x--

出110入26汤圆

18
发表于 2015-1-7 13:21:17 | 只看该作者
趋向于…

出0入0汤圆

19
发表于 2015-1-7 13:22:47 | 只看该作者
这是知乎上测试智商的回答么

出0入0汤圆

20
发表于 2015-1-7 13:22:47 | 只看该作者
亲自试了一下,LZ在骗人。

出0入0汤圆

21
 楼主| 发表于 2015-1-7 13:24:21 | 只看该作者
hameyou 发表于 2015-1-7 13:13
真受不了楼主,这也叫运算符,还取了一个马甲”趋向于”,

看清了      x --> 0

哈哈, 第一次看到的时候我差点被忽悠瘸了, 然后转过来逗一下大家.

出0入0汤圆

22
 楼主| 发表于 2015-1-7 13:25:46 | 只看该作者
ggchao 发表于 2015-1-7 13:22
亲自试了一下,LZ在骗人。

但是代码确实能运行哦.

出100入85汤圆

23
发表于 2015-1-7 13:28:41 | 只看该作者
呵呵,被骗了吧
应该是
while(x--  >  0)
{

}

不是
while(x --> 0)
{

}

出0入0汤圆

24
发表于 2015-1-7 13:30:22 | 只看该作者
刚开始的那个瞬间也确实被骗了楼主你坏坏

出0入0汤圆

25
发表于 2015-1-7 13:34:32 | 只看该作者
第一眼就看出来了  X--

出0入0汤圆

26
发表于 2015-1-7 13:35:02 | 只看该作者
第一眼就看出来了  X--

出0入0汤圆

27
发表于 2015-1-7 13:35:28 | 只看该作者
很明显了,while( (x--) > 0 )

出0入0汤圆

28
发表于 2015-1-7 13:35:41 | 只看该作者
呵呵!这个不是运算符吧

出0入0汤圆

29
发表于 2015-1-7 13:35:54 | 只看该作者
哈哈,还想收藏学习呐    - -

出0入0汤圆

30
发表于 2015-1-7 13:36:23 | 只看该作者
第一眼就看出来了  x--

出0入0汤圆

31
发表于 2015-1-7 13:36:55 | 只看该作者
好吧,请学习C语言运算优先级。

出0入0汤圆

32
发表于 2015-1-7 13:37:48 | 只看该作者
太坏了,骗人。。

出0入0汤圆

33
发表于 2015-1-7 13:39:15 | 只看该作者
,,,这明显了

出0入34汤圆

34
发表于 2015-1-7 13:39:38 | 只看该作者
这个一看就知道在 While Loop 内将 10 附于到 x 的变数内一直减到等于零后就跳出 Loop 了。

出0入0汤圆

35
发表于 2015-1-7 13:40:42 | 只看该作者
额。。是-- 和>两个运算符吧 --的优先级高!所以有这样的结果

出0入0汤圆

36
发表于 2015-1-7 13:44:37 | 只看该作者
这分明是把“x-- > 0”写成“x --> 0”

出0入17汤圆

37
发表于 2015-1-7 13:46:33 | 只看该作者
有人上当了!!!

出0入0汤圆

38
发表于 2015-1-7 13:48:26 | 只看该作者
uint8_t x = 5;
if (x --> 0) {
    printf("x还趋向于0吗!!!?");
}

出0入0汤圆

39
发表于 2015-1-7 13:49:18 | 只看该作者
趋向于?  减减大于吧

出0入0汤圆

40
发表于 2015-1-7 13:55:24 | 只看该作者
先判断后减吧?LZ上当了

出0入0汤圆

41
发表于 2015-1-7 14:02:26 | 只看该作者
一般我都写成while(x--);当然x初始值必定大于零。

出0入0汤圆

42
发表于 2015-1-7 14:05:16 来自手机 | 只看该作者
差点被忽悠

出20入0汤圆

43
发表于 2015-1-7 14:10:17 | 只看该作者
楼主你好坏滴,信不信我举报你!

出0入0汤圆

44
发表于 2015-1-7 14:13:52 | 只看该作者
开玩笑啦

出0入0汤圆

45
发表于 2015-1-7 14:24:12 | 只看该作者

出0入0汤圆

46
发表于 2015-1-7 14:25:45 来自手机 | 只看该作者
忽悠,继续忽悠。。。

出0入0汤圆

47
发表于 2015-1-7 14:27:34 | 只看该作者
楼主真不应该忽悠小盆友们,明明是x-- >0,最常规的c语句

出0入0汤圆

48
发表于 2015-1-7 14:31:30 | 只看该作者
这样忽悠没学过的,不好吧

出0入0汤圆

49
发表于 2015-1-7 14:31:34 | 只看该作者
哈哈                        

出0入0汤圆

50
发表于 2015-1-7 14:31:59 | 只看该作者
如果x初值为负,那就不能叫”趋向于”了

出0入93汤圆

51
发表于 2015-1-7 14:34:24 | 只看该作者
楼主不带这样忽悠的哦

出0入0汤圆

52
发表于 2015-1-7 14:53:28 | 只看该作者
哈哈哈哈哈,我分享给同事看了

出0入0汤圆

53
发表于 2015-1-7 15:00:13 | 只看该作者
楼主给大家了一个学习吐槽的好机会~~~

出0入0汤圆

54
发表于 2015-1-7 15:02:38 | 只看该作者
。。。。。。自加1,自减1优先级非常高的。。。。

出0入0汤圆

55
发表于 2015-1-7 15:03:46 | 只看该作者
我怎么看着就是自减运算哈?!~~

出0入0汤圆

56
发表于 2015-1-7 15:07:14 | 只看该作者
确实是没有见过,人外有山啊!

出0入0汤圆

57
发表于 2015-1-7 15:07:35 | 只看该作者
被楼主忽悠了,我还以为真有什么神奇运算符,看了5L的回答,才回过神........

出0入0汤圆

58
发表于 2015-1-7 15:08:27 | 只看该作者
哈哈,看着边想,明摆就是运算先后问题了

出0入0汤圆

59
发表于 2015-1-7 15:13:58 | 只看该作者
我也给绕进去了~先入为主了~

出0入0汤圆

60
发表于 2015-1-7 15:17:35 来自手机 | 只看该作者
搞笑,差点被忽悠

出0入0汤圆

61
发表于 2015-1-7 15:20:53 来自手机 | 只看该作者
撸主几年级的?

出0入0汤圆

62
发表于 2015-1-7 15:23:55 | 只看该作者
LZ是来搞笑的,大家就别较真了。

出0入0汤圆

63
发表于 2015-1-7 15:35:11 | 只看该作者
一开始看的时候,我也以为是长知识了。

出0入0汤圆

64
发表于 2015-1-7 15:43:29 来自手机 | 只看该作者
hameyou 发表于 2015-1-7 13:13
真受不了楼主,这也叫运算符,还取了一个马甲”趋向于”,

看清了      x --> 0

同意,纯属误导

出0入0汤圆

65
发表于 2015-1-7 15:44:14 | 只看该作者
x-->0,--在X的后面,所以想判断X的大小,在做--运算,打印的实际是X--

出0入0汤圆

66
发表于 2015-1-7 15:46:55 | 只看该作者
被忽悠了

出0入0汤圆

67
发表于 2015-1-7 15:51:33 | 只看该作者
这是逗着玩呢?

出0入0汤圆

68
发表于 2015-1-7 15:54:09 | 只看该作者
5楼正解。   

出0入0汤圆

69
发表于 2015-1-7 15:55:58 | 只看该作者
哈哈,差点上当了

出0入0汤圆

70
发表于 2015-1-7 15:56:05 | 只看该作者
确实不知道,涨知识了

出0入0汤圆

71
发表于 2015-1-7 15:57:53 | 只看该作者
哈哈哈。。。你们被楼主玩了。。

出0入0汤圆

72
发表于 2015-1-7 16:17:30 来自手机 | 只看该作者
直接whlie(x--)多好

出0入0汤圆

73
发表于 2015-1-7 16:21:40 | 只看该作者
楼主坏坏的说....

出0入0汤圆

74
发表于 2015-1-7 16:27:30 | 只看该作者
while (X--    >  0)

出0入0汤圆

75
发表于 2015-1-7 16:28:12 | 只看该作者
挺有才的,给大家普及一下C语言的基本知识

出0入0汤圆

76
发表于 2015-1-7 16:42:52 | 只看该作者
能不逗吗,亲

出0入12汤圆

77
发表于 2015-1-7 16:46:57 | 只看该作者
哈哈哈,自创新招

出140入158汤圆

78
发表于 2015-1-7 16:52:38 | 只看该作者
国人工程师的基础实在不好

出0入0汤圆

79
发表于 2015-1-7 16:59:35 | 只看该作者
哥们你中奖了!

出0入0汤圆

80
发表于 2015-1-7 17:01:07 | 只看该作者
自减然后比较,兄弟真厉害,能创造发明新名称~!

出0入0汤圆

81
发表于 2015-1-7 17:01:22 | 只看该作者
冷不丁一头冷汗,上当了

出0入0汤圆

82
发表于 2015-1-7 17:07:43 | 只看该作者
恩,是个好方法,哈哈。

出0入0汤圆

83
发表于 2015-1-7 17:14:57 来自手机 | 只看该作者
被骗了,看来得复习一下C

出0入18汤圆

84
发表于 2015-1-7 17:14:58 | 只看该作者
确定不是 X-- 大于 0 ?

出0入0汤圆

85
发表于 2015-1-7 17:16:25 来自手机 | 只看该作者
上当了,应该就是x--大于0吧

出0入0汤圆

86
发表于 2015-1-7 17:20:51 | 只看该作者
刚开始看感觉很厉害,仔细想想就知道是神马原因了

出0入0汤圆

87
发表于 2015-1-7 17:26:43 | 只看该作者
额,没发现问题所在,还是看楼上知道的

出0入0汤圆

88
发表于 2015-1-7 17:28:52 | 只看该作者
楼主是被逗了,还是来逗人的。

出0入0汤圆

89
发表于 2015-1-8 11:14:13 | 只看该作者
不错,还真不认识                       

出0入0汤圆

90
发表于 2015-1-8 11:55:25 | 只看该作者
LZ你还不清楚
C语言有左结合右结合把
你转的就是C语言里面的结合规则

出0入4汤圆

91
发表于 2015-1-8 12:05:57 | 只看该作者
。。。 (x--)>0 编译器是这么认为的

出0入0汤圆

92
发表于 2015-1-8 12:15:58 | 只看该作者
这不是跟(x--) > 0一个意思

出0入0汤圆

93
发表于 2015-1-8 12:17:29 | 只看该作者
哈哈,看看确实不对劲。明明是 - - 和 >两个运算符。 而且- -放在x前和放在x后是有区别的。

出0入0汤圆

94
发表于 2015-1-8 12:19:41 | 只看该作者
这帖子建议楼主加个备注啥的吧,初学者要是一时没反应过来还没注意下面的回复的话就被误导了。

出0入0汤圆

95
发表于 2015-1-8 12:22:32 | 只看该作者
刚看到一愣呢,幸好楼下有高人分析,我怎么没看出来呢

出0入0汤圆

96
发表于 2015-1-8 12:28:55 | 只看该作者
差点被忽悠了

出0入0汤圆

97
发表于 2015-1-8 12:34:10 | 只看该作者
挨忽悠了

出0入0汤圆

98
发表于 2015-1-8 12:36:26 | 只看该作者
唉,很明显 是先自减--再>判断,这都看不出来?

出0入0汤圆

99
发表于 2015-1-8 12:43:49 | 只看该作者
这个还真不知道,学习了

出0入0汤圆

100
发表于 2015-1-8 13:26:03 | 只看该作者
差点被你忽悠,这不就是 while( (x--)>0 )
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-27 01:01

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表