隐袭战龙 发表于 2014-5-11 09:39:32

为什么这段代码一直是死循环?但是调试的时候是可以成功实现的

time_t uStartTime=time(NULL);
                do
                {
                        if(_kbhit())
                        {
                                press(_getch());
                        }
                }while((time(NULL)-uStartTime)<speed);代码就是这样的,应该不会有错,但是运行的时候就一直是死循环,只有单步执行的时候才是正常的

YIn 发表于 2014-5-11 11:54:13

?Why我看不到代码

YIn 发表于 2014-5-11 11:54:45

手机看不到代码吗?

Stduy_Student 发表于 2014-5-11 11:56:50

      time_t uStartTime=time(NULL);
                  do
                  {
                            if(_kbhit())
                            {
                                    press(_getch());
                            }
                  }while((time(NULL)-uStartTime)<speed);

我看是死循环 do......while循环没有停止条件

sidfate 发表于 2014-5-11 15:33:22

只给这么一段代码都看不懂你在些什么{:7_163:}

隐袭战龙 发表于 2014-5-17 18:33:29

Stduy_Student 发表于 2014-5-11 11:56 static/image/common/back.gif
time_t uStartTime=time(NULL);
                  do
                  {


有啊,条件是time(NULL)-uStartTime)<speed,意思是当循环的时间超过speed时,就退出循环

隐袭战龙 发表于 2014-5-17 18:34:28

sidfate 发表于 2014-5-11 15:33 static/image/common/back.gif
只给这么一段代码都看不懂你在些什么

意思就是现获取当前的系统时间,然后一直循环,直到循环的时间超过speed就跳出循环,条件就是time(NULL)-uStartTime)<speed
页: [1]
查看完整版本: 为什么这段代码一直是死循环?但是调试的时候是可以成功实现的