Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

ฟังก์ชัน rand() และ srand() ในภาษา C


ฟังก์ชัน rand()

ฟังก์ชัน rand() ใช้สำหรับสร้างเลขสุ่มแบบปลอม (pseudo-random number) ฟังก์ชันนี้คืนค่าเป็นจำนวนเต็ม โดยมีช่วงค่าตั้งแต่ 0 ถึง RAND_MAX ซึ่งโดยทั่วไปจะมีค่าเท่ากับ 32767

ไวยากรณ์

int rand(void);

ตัวอย่างการใช้งาน rand()

#include <stdio.h>
#include <stdlib.h>

int main() {
    printf("%d\n", rand());
    printf("%d", rand());
    return 0;
}

ผลลัพธ์

1804289383
846930886

ฟังก์ชัน srand()

ฟังก์ชัน srand() ใช้สำหรับกำหนดค่าเริ่มต้น (seed) ให้กับตัวสร้างเลขสุ่มของ rand() ฟังก์ชันนี้ไม่คืนค่าอะไรเลย (void)

ไวยากรณ์

void srand(unsigned int number);

ตัวอย่างการใช้งาน srand()

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main() {
    srand(time(NULL));  // ใช้เวลาปัจจุบันเป็น seed
    printf("%d\n", rand());
    
    srand(12);          // ใช้ค่าคงที่เป็น seed
    printf("%d", rand());
    
    return 0;
}

ผลลัพธ์

1432462941
1687063760

หมายเหตุ: การใช้ srand(time(NULL)) จะทำให้ได้ลำดับเลขสุ่มที่แตกต่างกันทุกครั้งที่รันโปรแกรม ในขณะที่ใช้ค่า seed คงที่จะได้ลำดับเลขสุ่มเดิมซ้ำๆ ทุกครั้ง