作者Flychop (醉心)
看板C_and_CPP
标题[问题] 单步执行是正确的,但执行结果是错误!?
时间Mon Jun 15 21:50:38 2009
太久没写C++,突然遇到一个很奇怪的问题
就是单步执行时,是正常的,但是执行结果是错误
原以为是自己程式其他结构上的问题,但把其中一部分
拉出来写成小程式来看,一样会有这样问题 = ="
应该是个小地方错误,麻烦大家帮忙看一下,谢谢!
附上我的小程式码:
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
using namespace std;
int test();
int main()
{
int i=0 ;
int dec_I=0;
for(i=0;i<10;i++)
{
if(test() ==1)
dec_I++;
}
cout << dec_I << endl;
system("pause");
}
int test()
{
int x = 0;
srand(time(NULL));
x = rand()%2;
return x;
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 124.8.145.5
1F:→ james732:srand(time(NULL)); 这行请放在 main 的第一行 06/15 21:52
2F:→ Flychop:谢谢!可以了 06/15 21:54
3F:推 zlw:cpu跑太快了,你跑了10次test()里面取得的time()值都一样 06/15 22:07