srand函式是隨機數發生器的初始化函式。 原型:void srand(unsigned seed); 用法:它需要提供一個種子,這個種子會對應一個隨機數,如果使用相同的種子後面的rand()函式會出現一樣的隨機數。如: srand(1); 直接使用1來初始化種子。不過為了防止隨機數每次重複常常使用系統時間來初始化,即使用 time函式來獲得系統時間,它的返回值為從 00:00:00 GMT, January 1, 1970 到現在所持續的秒數,然後將time_t型資料轉化為(unsigned)型再傳給srand函式,即: srand((unsigned) time(&t)); 還有一個經常用法,不需要定義time_t型t變數,即: srand((unsigned) time(NULL)); 直接傳入一個空指標,因為你的程式中往往並不需要經過引數獲得的t資料。srand((int)getpid()); 使用程式的ID(getpid())來作為初始化種子,在同一個程式中這個種子是固定的。
srand函式是隨機數發生器的初始化函式。 原型:void srand(unsigned seed); 用法:它需要提供一個種子,這個種子會對應一個隨機數,如果使用相同的種子後面的rand()函式會出現一樣的隨機數。如: srand(1); 直接使用1來初始化種子。不過為了防止隨機數每次重複常常使用系統時間來初始化,即使用 time函式來獲得系統時間,它的返回值為從 00:00:00 GMT, January 1, 1970 到現在所持續的秒數,然後將time_t型資料轉化為(unsigned)型再傳給srand函式,即: srand((unsigned) time(&t)); 還有一個經常用法,不需要定義time_t型t變數,即: srand((unsigned) time(NULL)); 直接傳入一個空指標,因為你的程式中往往並不需要經過引數獲得的t資料。srand((int)getpid()); 使用程式的ID(getpid())來作為初始化種子,在同一個程式中這個種子是固定的。