c++中的标签问题
答案:4 悬赏:30 手机版
解决时间 2021-04-06 14:43
- 提问者网友:听门外雪花风
- 2021-04-05 17:32
c++中的标签问题
最佳答案
- 五星知识达人网友:低血压的长颈鹿
- 2021-04-05 18:02
确实用错了,break用于结束所有循环,而continue用于结束本次循环,不带任何参数。
跳转到标号处,请使用goto,但不建议用。
将break a;改为break;运行结果112
改为continue;运行结果为112212
改为goto a;死循环,输出112112112.。。。
这就是他们的用法,望采纳
跳转到标号处,请使用goto,但不建议用。
将break a;改为break;运行结果112
改为continue;运行结果为112212
改为goto a;死循环,输出112112112.。。。
这就是他们的用法,望采纳
全部回答
- 1楼网友:一叶十三刺
- 2021-04-05 21:23
可以有标签的,但是break没有,C++中的continue是有的。不过break添加标签有意义么?如果是单循环,break就已经跳出了,多循环break跳出自己所在循环,continue可以控制是否执行,continue加标签已经可以控制循环在哪一级啦
- 2楼网友:酒者煙囻
- 2021-04-05 20:16
C++的break和continue语句都是此关键字后跟一个分号构成的。没有Java中相类似的用法。
- 3楼网友:西岸风
- 2021-04-05 19:10
这就是java和c++对break用法的不同。java中,如果只是用一个break,它和C++的用法相同,表示退出当前循环;但是java支持带有标号的循环,它的功能是可以从多重循环中退出,拿本例来说,就是执行break a,程序会退出外层循环,输出结果为:
x = 1
y = 1
y = 2
对于C++来说,它没有这样的功能,它提供的是一个跳转语句,即goto语句,可以实现从多重循环中退出,这个goto语句需要指定一个条转位置,比如说一条语句。如果要实现java同样的功能,则可以这样写:
int main()
{
int x,y; //如果不加“break a;”会输出x=1
//a:
for (x=1;x<3;x++) // y=1
{
printf("x=%d\n",x); // y=2
b:
for (y=1;y<3;y++) // x=2
printf("y=%d\n",y); // y=1
//break a;
goto a; // y=2
}
a:;
}
注意a:后的分号,表示一个空语句。
x = 1
y = 1
y = 2
对于C++来说,它没有这样的功能,它提供的是一个跳转语句,即goto语句,可以实现从多重循环中退出,这个goto语句需要指定一个条转位置,比如说一条语句。如果要实现java同样的功能,则可以这样写:
int main()
{
int x,y; //如果不加“break a;”会输出x=1
//a:
for (x=1;x<3;x++) // y=1
{
printf("x=%d\n",x); // y=2
b:
for (y=1;y<3;y++) // x=2
printf("y=%d\n",y); // y=1
//break a;
goto a; // y=2
}
a:;
}
注意a:后的分号,表示一个空语句。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
正方形一边上任一点到这个正方形两条对角线的 |
阴历怎么看 ? |