为了账号安全,请及时绑定邮箱和手机立即绑定

求问C语言用什么代替goto?帮忙看看!

求问C语言用什么代替goto?帮忙看看!

C
一只名叫tom的猫 2022-03-24 15:11:37
a:a[j] = rand() % 10;for(i=0;i<j;i++){if(a[i]==a[j])goto a;}}
查看完整描述

2 回答

?
守候你守候我

TA贡献1802条经验 获得超10个赞

可再加一层循环,将goto的标号,放在循环起点.然后 用continue代替goto

而你这个 本身goto就是在循环里面的, 所以必须用标志位,退出内循环后再处理.


while(1){    int flag = 0;    a[j] = rand() % 10;    for(i=0;i<j;i++)    {        if(a[i]==a[j])        {            flag = 1;            break;        }    }    if(flag == 0) break;}

对于比较复杂的情况,也可以封装函数.


查看完整回答
反对 回复 2022-03-28
?
SMILET

TA贡献1796条经验 获得超4个赞

for(;;)
{
a[j] = rand() % 10;
for(i=0;i<j;i++)
{
if(a[i]==a[j])
}
}
}



查看完整回答
反对 回复 2022-03-28
  • 2 回答
  • 0 关注
  • 256 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信