| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 502 人关注过本帖
标题:百思不得其解……
只看楼主 加入收藏
neverend
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-9-9
收藏
 问题点数:0 回复次数:5 
百思不得其解……
main()
{int i=1;x=0;n;
scanf("%d",&n);
do
{x++;
i++;
}
while(i!=n);
printf("%d",x);
}
n=1时,
这个程序最后输出的结果为什么是0呢?
搜索更多相关主题的帖子: 百思不得其解 
2006-11-06 17:01
whw19840229
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2006-7-20
收藏
得分:0 

怎么这个会有以为呢??? do while()是先执行do里的语句在判断的

2006-11-06 17:33
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
收藏
得分:0 

#include<stdio.h>
main()
{int i=1,x=0,n;
scanf("%d",&n);
do
{
x++;
i++;
}while(i!=n);/*如果输入为1<=n;出现程序死循环*/
printf("%d",x);
return 0;
}


谁有强殖装甲第二部,可以Q我460054868
2006-11-06 17:39
hao0716
Rank: 4
等 级:业余侠客
威 望:1
帖 子:353
专家分:222
注 册:2006-4-11
收藏
得分:0 
main()
{int i=1;
int x=0;
int n;
scanf("%d",&n);
do
{x++;
i++;
printf("%d\n", x);
}
while(i!=n);
printf("%d",x);
}
这么看清楚点 输入1的话

2006-11-06 17:59
zhang916
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-10-1
收藏
得分:0 

这里涉及到一个数据溢出的问题,你输入1到显示结果,程序已经循环了65536次了,因为int型在[-32768,32767]中,刚好x的值从0循环回到0.
以上程序不管输入什么都不会构成死循环.

2006-11-06 18:10
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
收藏
得分:0 
如果
int i=0
while(1)
{i++;}
printf("%d",i);
即是说上面这个程序也不会死循环.

谁有强殖装甲第二部,可以Q我460054868
2006-11-06 18:14
快速回复:百思不得其解……
数据加载中...
 
   



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

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