今天看到了下边的这段代码:
#include <stdio.h>
int main(){
int x=10;
while(x --> 0){
printf("%d ",x);
}
return 0;
}
/*
输出为:
#9 8 7 6 5 4 3 2 1 0
*/
咋一看好像还挺像趋向于运算符(因为“->”在C语言中为操作指针成员的运算符,所以出现两个横线 “-- ”),但是仔细一琢磨就能看破。
x --> 0实则为:( x-- ) > 0
自减运算符为“- -”,在C语言中优先级为2,>的优先级为6.
所以实际情况就是先自减再判断,并不存在所谓的趋向于运算符。
在其他语言中(Java可以)也可以试试。