hololens东方烁 2020-05-14 11:52 采纳率: 100%
浏览 187
已结题

C++运算符优先级问题, (a3=sz[_searchIndex] +1&7) == (b3=sz[_searchIndex = ++_searchIndex == 8 ? 0 : _searchIndex])

int sz[8] = {0, 1, 2, 3, 4};
int a3;
int b3;
int _searchIndex = 0;
bool a6 = (a3=sz[_searchIndex] +1&7) == (b3=sz[_searchIndex = ++_searchIndex == 8 ? 0 : _searchIndex]);
为什么结果为a6=false,测试中a3=2,b3=1;
"=="执行顺序不应该是先左后右嘛?为什么这个是限制性==后侧得。

  • 写回答

2条回答 默认 最新

  • 胖狗子修行之路 2020-05-14 13:10
    关注

    a3应该是1 b3也应该是1 a6也是1,本地运行一下结果无误啊
    能描述的清楚一点吗

    评论

报告相同问题?