10个回答
2015-12-03 · 知道合伙人数码行家
关注
展开全部
goto
用在内层循环中比较合适,
用
break
只能跳出内层循环,
而
goto
可以直接跳出最外层循环,在合理的地方使用就可以了。
不要频繁的使用goto,过多的使用goto语句,会使程序混乱
从理论上讲,goto语 句是没有必要的,实践中不使用goto语句也可以很容易地写出代码
但是,在某些场合下goto语句还是用得着的。
最常见的用法是终止程序在某些深度嵌套 的结构中的处理过程,
例如一次跳出两层或多层循环。这种情况下使用break语句是不能达 到目的的,
它只能从最内层循环退出到上一级的循环
所有使用了goto语句的程序代码都能改写成不带goto语句的程序,
但可能会增加一些 额外的重复测试或变量
标号的命名同变量命名的形式相同,标号的后面要紧跟一个冒号。
标号可以位于对应的 goto语句所在函数的任何语句的前面。标号的作用域是整个函数。
goto 是转向语句
goto 标号;
例
int x=1;
biaohao:
x=x+1;
if(x<100)
goto biaohao;
cout<<"x=100"<<endl;
//当x小于100,执行if 后面的goto语句,
于是转跳到biaohao处执行biaohao后面的语句x=x+1,接着if语句,
如此反复。。。。。。,
直到x=100 if语句括号表达式为假不执行后面的goto语句,
于是跳过执行cout语句输出x=100这几个字符
用在内层循环中比较合适,
用
break
只能跳出内层循环,
而
goto
可以直接跳出最外层循环,在合理的地方使用就可以了。
不要频繁的使用goto,过多的使用goto语句,会使程序混乱
从理论上讲,goto语 句是没有必要的,实践中不使用goto语句也可以很容易地写出代码
但是,在某些场合下goto语句还是用得着的。
最常见的用法是终止程序在某些深度嵌套 的结构中的处理过程,
例如一次跳出两层或多层循环。这种情况下使用break语句是不能达 到目的的,
它只能从最内层循环退出到上一级的循环
所有使用了goto语句的程序代码都能改写成不带goto语句的程序,
但可能会增加一些 额外的重复测试或变量
标号的命名同变量命名的形式相同,标号的后面要紧跟一个冒号。
标号可以位于对应的 goto语句所在函数的任何语句的前面。标号的作用域是整个函数。
goto 是转向语句
goto 标号;
例
int x=1;
biaohao:
x=x+1;
if(x<100)
goto biaohao;
cout<<"x=100"<<endl;
//当x小于100,执行if 后面的goto语句,
于是转跳到biaohao处执行biaohao后面的语句x=x+1,接着if语句,
如此反复。。。。。。,
直到x=100 if语句括号表达式为假不执行后面的goto语句,
于是跳过执行cout语句输出x=100这几个字符
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
goto 语句使程序直接跳转到标号所指位置
#include <stdio.h>
int main(void)
{
int i, j, k;
for (i = 0; i < 10; i++)
for (j = 0; j < 10; j++)
for (k = 0; k < 10; k++)
if (i + j +k > 10)
goto exit_for;
exit_for:
printf("%d %d %d", i, j, k);
}
利用 goto直接跳出多重循环
#include <stdio.h>
int main(void)
{
int i, j, k;
for (i = 0; i < 10; i++)
for (j = 0; j < 10; j++)
for (k = 0; k < 10; k++)
if (i + j +k > 10)
goto exit_for;
exit_for:
printf("%d %d %d", i, j, k);
}
利用 goto直接跳出多重循环
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
k1:语句1;
goto k1;
相当于
while(1)
{
语句1;
}
就是在某一行语句前加个标志,冒号
goto那个标志就无条件跳转了
用多了程序容易混乱,小心使用
goto k1;
相当于
while(1)
{
语句1;
}
就是在某一行语句前加个标志,冒号
goto那个标志就无条件跳转了
用多了程序容易混乱,小心使用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当一个分支满足什么条件的时候,需要跳到程序的某个部分开始执行
可以用GOTO
比如:
loop:......;
........;
if(...)
....;
else
goto
loop;
如果满足if里面的条件这执行if下面的语句,如果不满足,跳回if上面开始执行。
可以用GOTO
比如:
loop:......;
........;
if(...)
....;
else
goto
loop;
如果满足if里面的条件这执行if下面的语句,如果不满足,跳回if上面开始执行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询