rand
من cppreference.com
<tbody>
</tbody>
| معرفة في ملف <stdlib.h>
|
||
int rand(); |
||
تُرجع عدد صحيح شبه عشوائي بين 0 و RAND_MAX (شاملة 0 و RAND_MAX).
srand() تحدد بذرة (قيمة ابتدائية) تستعملها الخوارزمية في rand().
في حالة استعمال rand() دون استدعاءات سابقا لـ srand(), تتصرف rand() كما لو كانت البذرة تساوي الواحد (أي srand(1)).
كل مرة يتم تحديد نفس البذرة بـ srand() يجب توليد نفس المتتالية جراء rand().
لا يشترط أن تكون rand() آمنة الإستخدام بين خيوط مختلفة (ليست thread-safe).
المعطيات
(لا شيء)
القيمة المُرجعة
عدد صحيح شبه عشوائي يقع بين 0 و RAND_MAX (شاملة الطرفين).
ملحوظات
لا يوجد ضمانات بالنسبة لجودة الأعداد المولدة. لا ينصح باستخدام rand() للأغراض الجادة مثل التشفير.
مثال
قم بتشغيل هذا الكود:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
srand(time(0)); //use current time as seed for random generator
int random_variable = rand();
printf("Random value on [0,%d]: %d\n", RAND_MAX, random_variable);
}
خرج ممكن:
Random value on [0 2147483647]: 1373858591
أنظر أيضا
| تحدد بذرة ابتدائية يستعملها مولد الأرقام (دالة) | |
أكبر قيمة يمكن توليدها بـ rand() (ثابت ماكرو) | |
مقالة مرجع C++ عن rand
| |