开发者社区> 问答> 正文

C++中的:inta=100;2<=a<100;为什么是对的,求解,求解?报错

int main()

   {

    int a=100;

    2<=a<100;//这个表达式对吗?

    return 0;

}

编译的时候为什么不报错》

展开
收起
爱吃鱼的程序员 2020-06-09 16:32:04 620 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    2<=a<100;

    先计算2<=a,结果为true:

    true<100

    true隐式转换成整数类型:

    1<100;

    这个表达式结果为真,但没有任何作用

    多谢,多系bool隐式转换成int比较了吧?

    一楼和三楼加起来解释的比较清楚


    拉姆不打表达式???表达式是对的,判断真假,次表达式为真。在程序里没有出现错误,只是这个程序不做任何处理

    2<=a<100;

    等价于

    (2<=a)<100;




    多谢编译器只管你语句是否有错误。不管你的表达式是否有逻辑错误。



    AI,你这个要阿法狗啊

    2020-06-09 16:32:23
    赞同 展开评论 打赏
问答分类:
C++
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
使用C++11开发PHP7扩展 立即下载
GPON Class C++ SFP O;T Transce 立即下载
GPON Class C++ SFP OLT Transce 立即下载