V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
hhdhhd
V2EX  ›  问与答

凭直觉猜代码运行结果(自己最近踩的坑)

  •  
  •   hhdhhd · 55 天前 · 989 次点击
    这是一个创建于 55 天前的主题,其中的信息可能已经有所发展或是发生改变。
    int data = 0x0;
    if(data & 0x2 == 0)
    {
    	printf("1\n");
    } else
    {
    	printf("2\n");
    }
    

    这段代码太简单了,简单到不需要特别在意。

    但是一不小心就踩坑了。

    == 的优先级比 & 大,所以运行出来的是“2”。

    2 条回复    2024-09-25 21:01:09 +08:00
    gauzung
        1
    gauzung  
       55 天前
    我没有太关心运算符优先级, 但是写到这种代码的时候, 都会留点心加括号, 一是确保结果是我所想的(不管你优先级多大, 都不可能比括号大), 二是增加代码可读性
    tool2dx
        2
    tool2dx  
       55 天前 via Android
    clang 会报警告,该更新编译器了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1026 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 22:19 · PVG 06:19 · LAX 14:19 · JFK 17:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.