所以这是代码:
if(rand_s(&number) != 0) cout << "Random number generator failed!" << endl;
问题是 - 这是否意味着每次使用此rand_s(&number)
表达式生成的随机数大于零时,程序都会输出失败消息?如果是这样,我为什么要这样的东西?
// complete code
unsigned int number = 0;
cout << "Random values are:" << endl;
double max = 1000000.0;
for(int i = 0 ; i<100 ; i++)
{
if(rand_s(&number) != 0)
cout << "Random number generator failed!" << endl;
number = static_cast<unsigned int>(static_cast<double>(number)/UINT_MAX*max)+1;
// output
cout << setw(12) << number;
if((i+1) % 5 == 0) cout << endl;
}
答案 0 :(得分:6)
没有rand_s返回errno_t
所以0表示没有错误。还有其他事情表明运行该函数时出错。
可以找到更多信息here
答案 1 :(得分:2)
答案 2 :(得分:1)
如果函数执行成功完成,则函数的返回值为0。结果存储在数字中。请注意,您正在通过地址传递。