rand
من cppreference.com
معرفة في ملف <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 generatorint random_variable = rand(); printf("Random value on [0,%d]: %d\n", RAND_MAX, random_variable);}
خرج ممكن:
Random value on [0 2147483647]: 1373858591
[تعديل]أنظر أيضا
تحدد بذرة ابتدائية يستعملها مولد الأرقام (دالة) | |
أكبر قيمة يمكن توليدها بـ rand() (ثابت ماكرو) | |
مقالة مرجع C++ عن rand |