8
ทำไมแรนด์ () + แรนด์ () สร้างจำนวนลบ?
ฉันสังเกตเห็นว่าrand()ฟังก์ชั่นห้องสมุดเมื่อมันถูกเรียกเพียงครั้งเดียวภายในวงมันมักจะสร้างตัวเลขที่เป็นบวก for (i = 0; i < 100; i++) { printf("%d\n", rand()); } แต่เมื่อฉันเพิ่มสองrand()สายหมายเลขที่สร้างในขณะนี้จะมีจำนวนลบมากกว่า for (i = 0; i < 100; i++) { printf("%d = %d\n", rand(), (rand() + rand())); } บางคนสามารถอธิบายได้ว่าทำไมฉันจึงเห็นตัวเลขติดลบในกรณีที่สอง? PS: srand(time(NULL))ผมเริ่มต้นเมล็ดพันธุ์ก่อนที่จะห่วงเป็น