读书人

新手求教各位师傅帮忙看看这个代码,

发布时间: 2012-04-28 11:49:53 作者: rapoo

新手求教,各位师傅帮忙看看这个代码
somenone=8;
slave = random()%somenone
if(someone>=2) {
if(sum_s(slave)==0) {
luck++;
else_
luck =0;
}
if((luck>3) || (times==0)) {
rep_luck:
slave = random()%somenone;
if(sum_s(slave)==0) { 如果这个sum_s(slave)=0,不是会一直在这里循环,出不来呢
goto rep_luck;
}
times = 25+ random()%100;
}
}

各位师傅帮忙指定一下,谢谢了

[解决办法]
rep_luck:
slave = random()%somenone;
if(sum_s(slave)==0) { 如果这个sum_s(slave)=0,不是会一直在这里循环,出不来呢
goto rep_luck;
}
random()函数是随机函数,就是产生随机数的函数,每运行一次就产生一个随机数,导致slave在每运行一个循环时都不同,如果sum_s(slave)返回的结果恒等于0,就会进入死循环,出不来。如果其返回值可以是0以外其他数,这个循环就可以结束。
[解决办法]
程序里的someone和somenone是一个变量吗?写错了,还是就是两个变量。
如果函数sum_s(slave)的返回值是0就会执行goto rep_luck;而重新产生一个随机数,如果不同的随机数对函数sum_s();而言会产生不同的返回值,那么就不会是死循环。

读书人网 >C语言

热点推荐