【发布时间】:2014-10-22 00:35:38
【问题描述】:
我做了一个小随机发生器,但它不能正常工作。这是代码...
我有一个函数,
short rnd(short *num){
return (rand() % max) + 1;
}
有一个原型
short rnd(short *num);
当我使用它时,我会做这样的事情:
max = 10;
num = rnd(&max);
编译器不会抛出任何问题,但它总是等于 0... 有什么建议吗?
【问题讨论】:
-
max必须是要编译的代码的全局变量。你的意思是*num而不是max?还有,如果你不给*num赋值,那你为什么把它作为指针传递呢? -
是的,对不起。它在包含的头文件中...
-
同意 Jonathan 以及为什么要使用指针?
-
呃!全局变量...在那个函数中?啊!啊!啊!不要那样做。如果你要忽略它,你到底为什么要传递
num? -
好的,解决了,谢谢!取出函数参数做到了,它现在生成一个随机数!谢谢@JonathanLeffler