| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 412 人关注过本帖
标题:[求助]为什么会出现死循环
只看楼主 加入收藏
lzf0112
Rank: 1
等 级:新手上路
帖 子:244
专家分:0
注 册:2006-4-9
收藏
 问题点数:0 回复次数:5 
[求助]为什么会出现死循环
当要求输入一个数学表达式时,判断其表达式是否符合要求,下列为什么会出现死循环呢?望指教~~~~
char p[max];
cin>>p;
i=strlen(p);
for(j=0;j<=i;j++)
{
if((p[j]>='0'&&p[j]<='9')||((p[j]=='+')||(p[j]=='-')||(p[j]=='*')||(p[j]=='/')||(p[j]=='(')||(p[j]=')')))
m=0;
else
{
m=1;
break;
}
}
2006-07-04 08:34
lzf0112
Rank: 1
等 级:新手上路
帖 子:244
专家分:0
注 册:2006-4-9
收藏
得分:0 

斑竹帮忙看一下啊!!!

2006-07-04 09:27
aogun
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:638
专家分:0
注 册:2006-4-5
收藏
得分:0 
我这不会出现死循环,你的代码是有问题,但是不会造成死循环,请再说详细点

注意:如果需要别人帮忙解决问题,希望自己把问题描述清楚,例如lz给的代码中应该再给出max的值,还有,出现死循环时lz输入的是什么表达式等

世界上总共有 10 种人,一种懂得什么是二进制 ,一种不懂。
2006-07-04 09:41
lzf0112
Rank: 1
等 级:新手上路
帖 子:244
专家分:0
注 册:2006-4-9
收藏
得分:0 
比较完成的代码是这样的,有一运行输入表达式以后就没有反应啊,请斑竹指点
int i,j=0,m=0;
char p[max];
cin>>p;
l:i=strlen(p);
for(j=0;j<=i;j++)
{
if((p[j]>='0'&&p[j]<='9')||(p[j]=='.')||((p[j]=='+')||(p[j]=='-')||(p[j]=='*')||(p[j]=='/')||(p[j]=='(')||(p[j]=')')))
m=0;
else
{
m=1;
break;
}
}
if(m==1)
{
cout<<"输入的表达式有错,请重新输入:";
cin>>p;
goto l;
}
else //调用别的函数
2006-07-04 09:45
aogun
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:638
专家分:0
注 册:2006-4-5
收藏
得分:0 
我这边不会死循环,我修改了两个小错误,你试试吧,另外,你的max值是多少,输入的表达式长度是否大于max值?

int i,j=0,m=0;
char p[max];
cin>>p;
l:i=strlen(p);
for(j=0;j<i;j++)
{
if((p[j]>='0'&&p[j]<='9')||(p[j]=='.')||((p[j]=='+')||(p[j]=='-')||(p[j]=='*')||(p[j]=='/')||(p[j]=='(')||(p[j]==')')))
m=0;
else
{
m=1;
break;
}
}
if(m==1)
{
cout<<"输入的表达式有错,请重新输入:";
cin>>p;
goto l;
}
else //调用别的函数

世界上总共有 10 种人,一种懂得什么是二进制 ,一种不懂。
2006-07-04 10:11
lzf0112
Rank: 1
等 级:新手上路
帖 子:244
专家分:0
注 册:2006-4-9
收藏
得分:0 

谢谢斑竹指点,可以啦,
我设置的max是32767是整型中最大的数啊,我输入的一般不会超过那个范围啊
谢谢!!!!

2006-07-04 10:14
快速回复:[求助]为什么会出现死循环
数据加载中...
 
   



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

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