#include <stdio.h>
#include <stdlib.h>
int main()
{
int randomnumber;
randomnumber = rand() % 10;
printf("%d\n", randomnumber);
return 0;
}
Đây là một chương trình đơn giản mà randomNumber là một int biến chưa được khởi đó có nghĩa là để được in như một số ngẫu nhiên giữa 1 và 10. Tuy nhiên, nó luôn luôn in cùng số bất cứ khi nào tôi chạy hết lần này đến lần khác. Ai đó có thể giúp đỡ và cho tôi biết tại sao điều này xảy ra? Cảm ơn bạn.tạo ra một số ngẫu nhiên từ 1 đến 10 trong c
đọc về [ 'srand()'] (http: // en. cppreference.com/w/c/numeric/random/srand). – jxh
Bạn rất có thể có thiên vị trong lựa chọn đó. – chris
@chris: Có nhưng sự thiên vị trong trường hợp này là khá nhỏ; vì 'RAND_MAX' có ít nhất 32767, độ lệch nhỏ hơn một phần trong 3000, và nếu bạn cần số ngẫu nhiên có chất lượng tốt hơn thì bạn nên sử dụng cái gì đó tốt hơn' rand() '. Tuy nhiên, nó có thể là giá trị giải quyết, đặc biệt là nếu bạn muốn có một phạm vi lớn hơn (gần với 'RAND_MAX'). Câu hỏi 13.16 của [comp.lang.c FAQ] (http://www.c-faq.com/) cho thấy cách thực hiện điều này. –