C++ goto 语句是不是只能跳转一次??

//当分母为0的时候进行错误处理#include<iostream.h>voidmain(){inty;try{rev:cout<<"inputanum\n";cin>>... //当分母为0的时候进行错误处理
#include<iostream.h>
void main()
{
int y;
try
{
rev:
cout<<"input a num\n";
cin>>y;
if(y==0)
throw y;
cout<<3/y;
}

catch(int x)
{
cout<<"error!\n";
goto rev;//显示错误 并跳转到上述语句继续运行程序。
}
}
程序无ERROR 运行 程序 输入 0后提示在输入一个数字 if输入的为非0整数程序输出y/3的值 并结束 else if在输入0 则程序出现错误 不知道为什么 以我原先的编程思想是当输入0的时候程序 继续输入语句cin>>y 直到输入的不为0 才结束程序,前面输入在多的 0都没事 但是实际运行起来就是只能输入一个0程序能跳回来 输入2个0就不行了
1楼的大哥 请你帮我看下我上面的程序! 如果你说的正确 那为什么我上面的程序只跳转一次就不能跳转了 // 连续输入0
可以指点我怎么改么??谢谢!
展开
 我来答
leiting991002
2008-06-04 · TA获得超过628个赞
知道小有建树答主
回答量:810
采纳率:0%
帮助的人:879万
展开全部
#include<iostream.h>
void main()
{
int y = 0;

rev:
try
{
cout<<"input a num\n";
cin>>y;
if(y==0)
throw y;
cout<<3/y;
}

catch(int x)
{
cout<<"error!\n";
goto rev;//显示错误 并跳转到上述语句继续运行程序。
}
}

不要从try中间插入GOTO,不然会引起异议,然后就会出问题,最好是从完整的块中插入。

还有,最好不要使用iostream.h,因为移植性不高,.h的文件不是标准c++的头文件了。现在兼容只是为了方便,标准的stl里面没有那东西了噢。goto最好也不要使用,因为不好理解,呵呵
kyshishen
2008-06-04 · TA获得超过124个赞
知道答主
回答量:216
采纳率:0%
帮助的人:126万
展开全部
goto语句其实就是当你条件满足的时候就会跳转到你语句标号的位置,所以如果当你条件满足的话会一直跳转
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式