這裏是不起作用的代碼:隨機數生成使用srand()函數定義一個變量
Enemy.strength = srand((unsigned)time(NULL)) % 10;
Enemy.strength是一個int
我做了一些研究,我發現,你可以」牛逼直接定義一個變量蘭特/函數srand 如:
a = rand();
我只是想知道爲什麼,如果有解決這個或者你認爲
有什麼其他辦法語言:C ...不是C++
這裏是不起作用的代碼:隨機數生成使用srand()函數定義一個變量
Enemy.strength = srand((unsigned)time(NULL)) % 10;
Enemy.strength是一個int
我做了一些研究,我發現,你可以」牛逼直接定義一個變量蘭特/函數srand 如:
a = rand();
我只是想知道爲什麼,如果有解決這個或者你認爲
有什麼其他辦法語言:C ...不是C++
srand(seed)
返回void。它用於播種隨機數發生器。 rand()
返回0和RAND_MAX(在stdlib.h中定義)之間的僞隨機整數。
因此要得到你的敵人隨機實力,你應該這樣做:
Enemy.strength = rand() % 10; // gives a strength between 0 and 9
你可以一個電話到srand
在你的代碼的某個地方,但只需要調用一次。它應該在任何對rand()的調用之前調用。
感謝您使用逗號運算符提供的幫助 – Bevilacqua
srand()接受種子作爲其第一個參數。在分配Enemy.strength之前,只需將該調用放在srand()上,並將rand()的返回值賦值給它。
srand((unsigned)time(NULL)), Enemy.strength = rand() % 10;
?做什麼的? –
也許[IOCCC](http://www.ioccc.org)? – Lundin
沒有什麼特別的理由,除了在rand()之前寫入srand()的位置的快速而草率的例子之外,我當然不會試圖通過它來贏得任何比賽。 –
你搜索'srand'下面的鏈接?有很多關於如何使用它的例子,以及它如何與'rand'不同。在張貼這裏之前,請展示一些努力。 –