| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 779 人关注过本帖
标题:请教一下这道小题,谢谢
只看楼主 加入收藏
qcx0708
Rank: 2
等 级:论坛游民
帖 子:11
专家分:26
注 册:2009-8-11
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:15 
请教一下这道小题,谢谢
已知 x=y=z=1;
则 --x&&++y&&++z ;
后 x的值为___, y的值为___,z的值为____. 为什么?
2009-08-31 23:52
UserYuH
Rank: 12Rank: 12Rank: 12
来 自:毅华
等 级:火箭侠
威 望:8
帖 子:720
专家分:3300
注 册:2009-8-10
收藏
得分:5 
已知 x=y=z=1;
则 --x&&++y&&++z ;
后 x的值为0, y的值为2,  z的值为2.
·
if(--x&&++y&&++z)/*这判断是不成立的,--x是先x值减1再来判断,y和z也一样,进入判断时就等于(0&&2&&2)*/
  {
   ...
   }

努力—前进—变老—退休—入土
2009-09-01 00:17
UserYuH
Rank: 12Rank: 12Rank: 12
来 自:毅华
等 级:火箭侠
威 望:8
帖 子:720
专家分:3300
注 册:2009-8-10
收藏
得分:0 
已知 x=y=z=1;
则 --x&&++y&&++z ;
后 x的值为0, y的值为2,  z的值为2.
·
if(--x&&++y&&++z)/*这判断是不成立的,--x是先x值减1再来判断,y和z也一样,进入判断时就等于(0&&2&&2)*/
  {
   ...
   }

努力—前进—变老—退休—入土
2009-09-01 00:17
godbless
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:216
专家分:950
注 册:2009-7-24
收藏
得分:0 
LS的你知道关于&&和||的短路算法么?
2009-09-01 08:11
prankmoon
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:161
专家分:921
注 册:2009-7-21
收藏
得分:15 
最终结果是:
x的值为0, y的值为1,  z的值为1。
                                                   .
而不是0、2、2。
                                                   .
因为在语句"--x&&++y&&++z;"中使用的是逻辑与"&&"。对于逻辑与而言,一旦结果确定后就不再计算后面的值,在这里就是 "--x" 已经能够计算出表达式 "--x&&++y&&++z"的值为 0 ,所以,"--x&&" 后的 "++y&&++z"不会再被计算,也因此 x 和 y 的值根本不会有机会发生变化。所以,最终结果是(x, y, z) = (0, 1, 1)。但如果把 "&&" 改为 "&",比如 "--x&++y&++z;",则结果将是(0, 2, 2)。
                                                   .
#include <stdio.h>
#include <stdlib.h>
                                                   .
int main(void)
{
    int x, y, z;
                                                   .
    x = y = z = 1;
    --x&++y&++z;   
    printf("%d, %d, %d\n", x, y, z);
                                                   .
    return 0;
}
输出:
0, 1, 1
2009-09-01 08:31
jammyzm
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:90
专家分:126
注 册:2008-12-1
收藏
得分:0 
楼上正解
2009-09-01 08:45
jammyzm
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:90
专家分:126
注 册:2008-12-1
收藏
得分:0 
楼上正解
2009-09-01 08:45
baikil
Rank: 10Rank: 10Rank: 10
来 自:X星球
等 级:青峰侠
威 望:4
帖 子:282
专家分:1580
注 册:2009-7-20
收藏
得分:0 
支持五楼

自创QQ群64885635,方便C#学习交流.希望各项工作路好学都好入!
2009-09-01 08:59
UserYuH
Rank: 12Rank: 12Rank: 12
来 自:毅华
等 级:火箭侠
威 望:8
帖 子:720
专家分:3300
注 册:2009-8-10
收藏
得分:0 
回复 5楼 prankmoon
谢谢纠正我的错误,支持你。

努力—前进—变老—退休—入土
2009-09-01 09:29
chao1573
Rank: 2
等 级:论坛游民
帖 子:23
专家分:28
注 册:2007-6-28
收藏
得分:0 
0.1.1
2009-09-01 11:32
快速回复:请教一下这道小题,谢谢
数据加载中...
 
   



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

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