需要澄清运算符优先级背后的逻辑

问题描述

目前大约浏览了c ++,但是在下面的示例中,我的大脑卡住了。 在res变量处,示例具有abc整数值的预递增。

我打印出来的第一张纸的输出为a = 1,b = 0,c=0

第二部分的输出为a = 1,c=0

    int a,b,c;
    a = 0;
    b = 0;
    c = 0;
    res = ++a || ++b && ++c;
    cout << '\n'
        << " res = " << res
        << ",a = " << a
        << ",b = " << b
        << ",c = " << c << endl;
    a = b = c = 0;
    res = ++a && ++b || ++c;
    cout << " res = " << res
        << ",c = " << c << endl;

我都希望它们都是a = 1,b = 1,c=1,因为我已经增加了变量。 从输出中,我了解在||运算符之后是否没有任何评估?我需要澄清。谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...