| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 286 人关注过本帖
标题:各位大哥帮帮忙看看这段程序是怎么样运行的!小弟在这谢过了!!
只看楼主 加入收藏
广西师大
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-9-7
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
各位大哥帮帮忙看看这段程序是怎么样运行的!小弟在这谢过了!!
int x=3;
do
{
   printf("%3d",x - =2);
}
while(!(--x));


就是上面这段程序,尽量解释清楚点小弟是新手!在这谢谢各位大哥了!!
2011-09-07 22:03
leech58
Rank: 2
来 自:湖南
等 级:论坛游民
帖 子:18
专家分:58
注 册:2011-8-29
收藏
得分:20 
int x=3;
do
{
   printf("%3d",x - =2);
}
while(!(--x));
整个执行过程为:
int x=3;  //赋值
do{
    x=x-2;  //赋值后 x=1;
printf 输出 1
}while(!(--x))  //先x=x-1=1-1=0 ,使用则为while(!0)  == while(1) 返回 do
do{
    x=x-2;  //  x=0-2=-2;
printf  输出 -2;
}while(!(--x))  // x=-2-1=-3,while(!(-3)) == while(0) 退出循环

所以最后输出为  1  -2   要理解!(--x)之后就很容易了  还有 printf 一般是从右往左执行的!

诚心交流!
2011-09-07 22:11
广西师大
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-9-7
收藏
得分:0 
回复 2楼 leech58
谢谢了!大哥!!!
2011-09-07 22:19
快速回复:各位大哥帮帮忙看看这段程序是怎么样运行的!小弟在这谢过了!!
数据加载中...
 
   



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

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