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 ; } |
对于比较复杂的情况,也可以封装函数.
- 2 回答
- 0 关注
- 256 浏览
添加回答
举报
0/150
提交
取消