给大家出个题目,作出要说明道理,up之类的就不要了

Mars_xlb 2005-08-25 09:15:21
int x,y;
x=y=3;int t=(++x)||(++y);
问执行完后y的值
小弟可能基础不好,这个值我怎么也想不通
...全文
126 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
megaboy 2005-08-25
  • 打赏
  • 举报
回复
y的值当然是3。

t=(++x)||(++y);这条表达式受限于逻辑表达式的短路规则,由于||的前半部分已经得出了结果,++y这部分是忽略不计了的,因此y等于3。
bugebear3 2005-08-25
  • 打赏
  • 举报
回复
没看清,y当然为3了
bugebear3 2005-08-25
  • 打赏
  • 举报
回复
t为TRUE,也就是1
Rick_ang 2005-08-25
  • 打赏
  • 举报
回复
y的值等于3,因为对于||这个运算符,编译器先考察最左边的值是否不等于0,如果不是0就是TRUE了..那后面无论是什么也没有必要运算了,所以编译器就把后面的算式忽略了
bugebear3 2005-08-25
  • 打赏
  • 举报
回复
4
bugebear3 2005-08-25
  • 打赏
  • 举报
回复
JF
Mars_xlb 2005-08-25
  • 打赏
  • 举报
回复
hoho我好像哦然间明白了,楼下的你可以说了,说话就结贴

70,023

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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