程序如下
main()
{
int a=1;
if( a-- > 0)
printf("AAAA");
else
printf("BBBB");
}
它的输出是AAAA
如果我使用
main()
{
int a=1;
if( (a--) > 0)
printf("AAAA");
else
printf("BBBB");
}
那为什么输出又是 AAAA
。
()
比 --
更受欢迎。
最佳答案
后缀运算符 --
有 higher precedence比任何 bool 比较运算符。
您到底期望什么? a--
始终计算为 a
的值,该值在计算后递减。
关于c++ - 为什么 `(a--> 0)` 和 `((a--) > 0)` 相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4884273/