| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1191 人关注过本帖
标题:新手问:逻辑运算短路问题,前辈们指点!
取消只看楼主 加入收藏
ahwei
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2007-5-19
收藏
 问题点数:0 回复次数:0 
新手问:逻辑运算短路问题,前辈们指点!
#include <stdio.h>
void main()
{
int x,y,z;
x=y=z=1;
++x||++y&&++z;
printf("x=%d,y=%d,z=%");
}

输出结果是:x=2,y=1,z=1
我在书上看的:a&&b<c,如果a的值为0,系统便确定表达式的运算结果总是0,忽略表达式b<c的值,如果a的值为1,这时要计算b<c的值
a||b<c,如果a的值为1,系统便确定表达式的运算结果总是1,忽略表达式b<c的值,如果a的职位0,这是要计算b<c的值
那么以上表达式中:++x||++y&&++z
++x的值是2,表达式可看作是1&&++z,也就是说现在a的值为真值,要计算后便++z的值阿,输出结果应为x=2,y=1,z=2吧?

搜索更多相关主题的帖子: 逻辑运算 前辈 短路 
2007-06-13 01:33
快速回复:新手问:逻辑运算短路问题,前辈们指点!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023691 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved