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

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

  •  
  •   hhdhhd · 9 天前 · 734 次点击
    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  
       9 天前
    我没有太关心运算符优先级, 但是写到这种代码的时候, 都会留点心加括号, 一是确保结果是我所想的(不管你优先级多大, 都不可能比括号大), 二是增加代码可读性
    tool2dx
        2
    tool2dx  
       9 天前 via Android
    clang 会报警告,该更新编译器了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1959 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 107ms · UTC 07:24 · PVG 15:24 · LAX 00:24 · JFK 03:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.