一个 || 表达式的选择题 <新手求解帖>

Johnson_Y_R 2019-05-16 12:26:25
题目是
表达式的值为 a=0 || sizeo(int):


选择A_true 选择B_false

我选择的B 结果是:错误

我想知道错误的原因
我的思路是 按照“||逻辑或”的定义,当第一个判断条件返回true时,逻辑或直接返回true,第二个判断条件就不会执行了;
那a=0 0已经是false了 就应该选B。
还有个问题就是 这个题 是什么意思?判断的是什么。
...全文
413 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
CaptainXue 2019-05-16
  • 打赏
  • 举报
回复
引用 7 楼 Jonson_Y_R 的回复:
[quote=引用 6 楼 袁君元的回复:]这个其实就是各类运算符的优先级问题:
1、a=0表示a的值为0
2、||是逻辑或,当||左右两边的数只要有一个表达式的值为1,则结果为1;由于左边a已经为0,所以还要看右边的sizeof(int)的值;
3、sizeof(int)表示int类型所占的字节数,它的值为4
4、最终演变为0||4,结果为4,4是非0的,所以结果为true

谢谢,解释通顺易懂。[/quote]
学习编程就需要这样的逻辑,可以看看这篇文章哦!或许对你有帮助https://blog.csdn.net/weixin_43956598/article/details/90049508
Johnson_Y_R 2019-05-16
  • 打赏
  • 举报
回复
引用 6 楼 袁君元的回复:
这个其实就是各类运算符的优先级问题: 1、a=0表示a的值为0 2、||是逻辑或,当||左右两边的数只要有一个表达式的值为1,则结果为1;由于左边a已经为0,所以还要看右边的sizeof(int)的值; 3、sizeof(int)表示int类型所占的字节数,它的值为4 4、最终演变为0||4,结果为4,4是非0的,所以结果为true
谢谢,解释通顺易懂。
CaptainXue 2019-05-16
  • 打赏
  • 举报
回复
这个其实就是各类运算符的优先级问题: 1、a=0表示a的值为0 2、||是逻辑或,当||左右两边的数只要有一个表达式的值为1,则结果为1;由于左边a已经为0,所以还要看右边的sizeof(int)的值; 3、sizeof(int)表示int类型所占的字节数,它的值为4 4、最终演变为0||4,结果为4,4是非0的,所以结果为true
Johnson_Y_R 2019-05-16
  • 打赏
  • 举报
回复
引用 2 楼 jsx_SEVEN的回复:
按照你的思路,0已经是false了,正好应该看后面的。 我猜这个题意思可能是:int是非0个字节
谢谢谢谢,我找到问题了,我把或和与的定义搞反了。
Johnson_Y_R 2019-05-16
  • 打赏
  • 举报
回复
引用 3 楼 636f6c696e的回复:
A&&B A为false不执行B A||B A为true不执行B 你是不是搞反了
对对对,我把与和或的定义搞反了。。这下想通了。
636f6c696e 2019-05-16
  • 打赏
  • 举报
回复
A&&B A为false不执行B A||B A为true不执行B 你是不是搞反了
周末ZhouMo 2019-05-16
  • 打赏
  • 举报
回复
按照你的思路,0已经是false了,正好应该看后面的。 我猜这个题意思可能是:int是非0个字节
自信男孩 2019-05-16
  • 打赏
  • 举报
回复
||是或,a=0是假,但是||还会看后面的,sizeof(int)是非0的,所以最后是真。

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧