| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 443 人关注过本帖
标题:请大虾帮我翻译下下面的语句?
只看楼主 加入收藏
thomas2009
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2009-9-18
结帖率:100%
收藏
 问题点数:0 回复次数:3 
请大虾帮我翻译下下面的语句?
1. main()
{int x=2;
 while(x--);
    printf(“%d\n”,x);
}
为什么运行结果是-1?
2.main()
{int y=10;
 while(--y);
 printf(“%d\n”,y);
}
为什么运行结果是0?
3.main()
{int x=3;
 do
{
 printf(“%d\n”,x-=2);
      }while(!(--x));
    }
为什么运行结果是1 和-2?
4。main()
{int x,y;
     for(x=0,y=0;(y!=12) &&(x<8);x++);
    printf(“x=%d,y=%d”,x,y);
}
为什么运行结果是x=8,y=0?
主要是while 语句和for 语句 弄不清楚
请帮我解释下,谢谢
搜索更多相关主题的帖子: 语句 翻译 
2009-09-18 14:49
godbless
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:216
专家分:950
注 册:2009-7-24
收藏
得分:0 
只要你注意到while();和for(;;);后面的分号就不难分析了.
2009-09-18 14:57
chenaiyuxue
Rank: 5Rank: 5
来 自:山东滨州
等 级:职业侠客
帖 子:334
专家分:370
注 册:2008-5-20
收藏
得分:0 
其实只要注意到以下两条就可以了:
1)++x, --x 是先自加或自减,然后做比较(运算)
2)x++, x-- 是先做比较(运算),然后自加或自减

1. 初始状态:x = 2
   1)x = 2 > 0, 循环继续,x = x - 1 = 1
   2)x = 1 > 0, 循环继续,x = x - 1 = 0
   3)x = 0 = 0,循环结束,x = x - 1 = -1
2. 初始状态:y = 10
   1) y = y - 1 = 9, y = 9 > 0, 循环继续
   2)y = y - 1 = 8, y = 8 > 0,循环继续
                  .
                  .
                  .
   9) y = y - 1 = 1, y = 1 > 0,循环继续
   10)y = y - 1 = 0, y = 0,循环结束
3. 初始状态:x = 3
   1)x = x - 2 = 1,输出 1, x = x - 1 = 0, 取非运算则为真,循环继续
   2)x = x - 2 = -2, 输出-2, x = x - 1  = -3,取非运算为假,循环结束
4. 初始状态:x = 0, y = 0
   1)x = 0 < 8, y = 0 < 12, 循环继续,x = x + 1 = 1
   2)x = 1 < 8, y = 0 < 12, 循环继续, x = x + 1 = 2
                       .
                       .
                       .
   8)x = 7 < 8, y = 0 < 12,循环继续, x = x + 1 = 8
   9)x = 8不再小于8,循环结束

你是雪,我是尘埃,相遇是意外;你坠落,在我胸怀,流进我血脉。
2009-09-18 15:27
thomas2009
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2009-9-18
收藏
得分:0 
谢谢   ,我是自学的菜鸟,周围没有人学这个,所以遇到不懂得没有人请教,初级问题,还请大虾多包涵! 谢谢
2009-09-18 16:31
快速回复:请大虾帮我翻译下下面的语句?
数据加载中...
 
   



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

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