小白cjn 2021-11-16 21:29 采纳率: 85.7%
浏览 9
已结题

逻辑运算的,有点小问题

#include<stdio.h>
void main ()
{
int a=-1,b=1,k;
if ((++a<0)&&!(b--<=0))
printf("%d %d\n",a,b);
else
printf("%d %d\n",b,a);
}

b--<=0,运算的话相当于0<=0对吧,所以说表达式是真的,前面有个!,这个时候表达式就成假的了对吧,我不明白的点在于这个b的值在整个代码中的变化,有大佬能详细讲解一下吗

  • 写回答

1条回答 默认 最新

  • 南七灵 2021-11-16 21:31
    关注

    先比较,再自减

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月24日
  • 已采纳回答 11月16日
  • 创建了问题 11月16日