首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

新手求教,各位师傅帮忙看看这个代码,该如何解决

2012-04-28 
新手求教,各位师傅帮忙看看这个代码somenone8slave random()%somenoneif(someone2) {if(sum_s(slave

新手求教,各位师傅帮忙看看这个代码
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();而言会产生不同的返回值,那么就不会是死循环。

热点排行