回答

收藏

C/C++ 中的“-->”运算符是什么?

技术问答 技术问答 359 人阅读 | 0 人回复 | 2023-09-11

看完隐藏的功能和C     / STL的暗角上comp.lang.c  .moderated,我完全惊讶的是,下面的代码片段被编译成两个Visual Studio 2008和G     4.4的工作。- b; H7 K$ u2 Y* w' a7 t
这是代码:0 P  c* M; K' _$ G
    + U! o$ r& K& }
  • #include int main(){     int x = 10;    while (x --> 0) // x goes to              printf("%d ",x);  code]输出:[code]9 8 7  5 4 3 2 1 0; |9 L2 j' S3 i9 d
这是 C,因为它也适用于 GCC。这个标准在哪里定义,它来自哪里?
7 N$ p1 |; g# W7 v. d5 x                                                                # B( e+ G* b( ~: z9 c
    解决方案:                                                               
2 c8 g: P' S' Q) \( ~; l$ A( T                                                                -->不是运营商。它实际上是两个独立的操作符,--和>。
# o" v  b2 V0 |0 P0 |条件代码减少x,同时返回x原始值(未递减),然后使用原始值和0>比较运算符。
5 T* ^% V9 j) E' H6 S' l( D为了更好地理解,这个句子可以写如下:2 x) k4 U8 d5 t+ j
    while( (x--) > 0 )) q0 r5 F- [% K6 M
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则