作者Hyozero (大宝)
看板C_and_CPP
标题[问题] 在if判断式里面赋值与加上|| &&
时间Sun Nov 13 18:29:22 2022
开发平台(Platform): (Ex: Win10, Linux, ...)
Linux
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
GCC
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
问题(Question):
如附件程式码
第7~17行, 在if判断式里做赋值 x=n, 会以 if(n) 来做判断
第21~77行,在if判断式里做赋值 x=n, 再加上 || 或 && 做判断, 为什麽结果cout出来看
x的值只会有1或0呢?
喂入的资料(Input):
预期的正确结果(Expected Output):
错误结果(Wrong Output):
程式码(Code):(请善用置底文网页, 记得排版,禁止使用图档)
https://ideone.com/3QRPca
补充说明(Supplement):
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.34.226.230 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1668335366.A.14D.html
※ 编辑: Hyozero (114.34.226.230 台湾), 11/13/2022 18:29:58
2F:→ cuteSquirrel: 中文书或电子资源查询: C++运算子优先权 11/13 18:39
3F:→ cuteSquirrel: 英文查 C++ Operator Precedence 11/13 18:39
4F:→ bhbbbbb: 帮1F补充一下,就是以你的 22 行来说,实际上是 if (x = 11/14 13:49
5F:→ bhbbbbb: (3 || x == 2)) 11/14 13:49
6F:→ Hyozero: 感谢大大们解说 ^^ 11/14 22:28
7F:推 wulouise: 如果你要用inline variable 就用if(int x = n; x||a&&b) 11/14 23:29
8F:→ wulouise: C++17以上可用,可读性比较好 出错机率低一点..Y 11/14 23:30
9F:→ peter98: 括号请刮好刮满y 11/25 23:18