已掉线,重新登录

首页 > 绿虎论坛 > 历史版块 > 编程 > C/C++ > 讨论/求助

标题: 一个C问题,貌似我还没理解……

作者: @Ta

时间: 2013-06-12

点击: 3802

<?php
//为什么y是2??++y不是先加吗?
int x = 2, y = 2,z=0,a;
a = ++x || ++y && z++;
printf("%d,%d,%d\n",x,y,z);
?>

[隐藏样式|查看源码]


『回复列表(5|隐藏机器人聊天)』

1. y++和z++都没有执行,因为表达式a=++a的值已经是真,所以或运算符 || 后的表达式没有运行就直接跳出了

答案来自:
wap.baidu.com
(/@Ta/2013-06-12 21:04//)

2. 这是c问题
(/@Ta/2013-06-12 21:53//)

3. 唔~~理解了 ,&&和||又叫短路运算符,
(/@Ta/2013-06-12 22:13//)

4. 要短路……
(/@Ta/2013-06-12 22:39//)

5. 因为++x不为0,所以++y不会被执行。
(/@Ta/2013-06-13 11:07//)

回复需要登录

7月21日 22:57 星期一

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1