维持好习惯 2022-01-02 16:12 采纳率: 81.8%
浏览 36
已结题

C语言:条件表达式判断问题

运行结果

img


代码如下;

#include<stdio.h>
int main()
{
int a=3,b=4,c=5;
if(!((a<b)&&!c||1))
printf("%d",++a);
else
printf("%d",a);
    return 0;
}

请问,if语句的条件表达式怎么判断真假?

  • 写回答

1条回答 默认 最新

  • 南七灵 2022-01-02 16:39
    关注

    这里面括号优先级最高
    先看 a < b为真,相当于
    if( !((1)&&!c||1) )
    然后进行 !c 运算 为假也就是0
    if( ! ( (1) && 0 || 1 ) )
    1 && 0为假
    if( ! ( 0 || 1 ) )
    0 || 1为真
    if( ! ( 1) )
    !1为假
    if(0)
    所以为假

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

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月2日
  • 已采纳回答 1月2日
  • 创建了问题 1月2日