猿问

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

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

一只名叫tom的猫
浏览 292回答 2
2回答

守候你守候我

可再加一层循环,将goto的标号,放在循环起点.然后 用continue代替goto而你这个 本身goto就是在循环里面的, 所以必须用标志位,退出内循环后再处理.while(1){&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;flag&nbsp;=&nbsp;0;&nbsp;&nbsp;&nbsp;&nbsp;a[j]&nbsp;=&nbsp;rand()&nbsp;%&nbsp;10;&nbsp;&nbsp;&nbsp;&nbsp;for(i=0;i<j;i++)&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(a[i]==a[j])&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;flag&nbsp;=&nbsp;1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;if(flag&nbsp;==&nbsp;0)&nbsp;break;}对于比较复杂的情况,也可以封装函数.

SMILET

for(;;){a[j] = rand() % 10;for(i=0;i<j;i++){if(a[i]==a[j])}}}
随时随地看视频慕课网APP
我要回答