程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言問答 >> c語言中,rand函數為什麼得依賴sand()函數?

c語言中,rand函數為什麼得依賴sand()函數?

編輯:C語言問答

c語言中,rand函數為什麼得依賴sand()函數?

10 都說是send提供種子數,可種子數是什麼概念?要種子數具體做什麼?

最佳回答:

 srand(uint i)   //函數作用只是放置一顆種子數
{
  static uint seed=i;
}
rand()
{
seed=(seed*0x343fd+0x269ec3);
uint ret=(seed*0x343fd+0x269ec3)>>4&0x7fff;  //>>右移 &與運算
return ret; 
}
即下次調用rand時返回的值便可能和上次不一樣了因為seed值也變了
如果重新設置seed則再調用rand結果不變相當於:
srand(0x1111);
uint s1=rand();
srand(0x1111);
uint s2=rand();
此時s1==s2成立
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved