C语言真的存在"趋向于运算符"吗?
在某乎看到有人说C语言有个非常鲜为人知的运算符-- 趋向于运算符 差不多就是下面这样: #include<stdio.h> int main(void) { int conut = 10; while (conut --> 0) //注意这里是两个短横线, 并非指针型的成员操作符 { printf("conut = %d\n", conut); } return 0; } 输出: conut = 9 conut = 8 conut = 7 conut = 6 conut = 5 conut = 4 conut = 3 conut = 2 conut = 1 conut = 0 初看感觉没毛病, 但是这东西也经不起推敲, 下面我详细说明下: #include<stdio.h> int main(void) { int conut = 10; printf("return: %d", conut --> 0); return 0; } 输出: return: 1 其实从这里我们就可以看出, 所谓的"趋向于运算符", 不过是先把conut和0相比较, 再将conut自减1罢了 所以, 站在编译器的角度看, 那行代码其实是这样子的: while (conut-- > 0) //为方便对比, 便再次贴出原代码 while (conut --> 0) /