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
可以指点我怎么改么??谢谢! 展开
#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
可以指点我怎么改么??谢谢! 展开
2个回答
展开全部
#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最好也不要使用,因为不好理解,呵呵
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最好也不要使用,因为不好理解,呵呵
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询