| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1320 人关注过本帖
标题:到底是什么原因,计算顺序有问题,还是编译工具的故障
取消只看楼主 加入收藏
hxwj
Rank: 2
等 级:论坛游民
帖 子:75
专家分:34
注 册:2016-12-8
结帖率:57.14%
收藏
已结贴  问题点数:5 回复次数:1 
到底是什么原因,计算顺序有问题,还是编译工具的故障
int n=2,k=0;
k++&&n++>2;

执行上述    语句后,问n值和k值是什么

1.关系运算优先于逻辑运算;
2.逻辑运算中,若与运算中的一项为0,则与运算的结果直接为0,另一项没有机会参与运算

也就是说,先计算n++>2(计算后n的值变为3),且结果为0;再计算k++&&0;已经明显出现了0,k++就没有机会了,所以
整个式子的值为0 ;而k的值为0,n值为3

而很多编译程序的结果却是k=1,n=2
搜索更多相关主题的帖子: 原因 计算 编译 运算 结果 
2018-11-15 16:25
hxwj
Rank: 2
等 级:论坛游民
帖 子:75
专家分:34
注 册:2016-12-8
收藏
得分:0 
回复 2楼 C基础
不知道是不是这个意思,只要最终为&&或者||运算,运算顺序始终从左边开始,这样理解对不?
2018-11-15 17:11
快速回复:到底是什么原因,计算顺序有问题,还是编译工具的故障
数据加载中...
 
   



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

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