λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
βœ’οΈ C Programming/Practice & Tips

[C μ–Έμ–΄] rand() ν•¨μˆ˜μ—μ„œ λ‚œμˆ˜ 생성이 μ œλŒ€λ‘œ λ˜μ§€ μ•Šμ„ 경우 해결법 : srand() ν•¨μˆ˜

by A Lim Han 2023. 1. 14.

# rand() ν•¨μˆ˜μ—μ„œ λ‚œμˆ˜ μƒμ„±μ΄ μ œλŒ€λ‘œ λ˜μ§€ μ•Šμ„ κ²½μš° ν•΄κ²°λ²• : srand() ν•¨μˆ˜

 

 

rand() ν•¨μˆ˜λŠ” 0λΆ€ν„° 32767κΉŒμ§€μ˜ μ •μˆ˜λ₯Ό λ¬΄μž‘μœ„λ‘œ μƒμ„±ν•˜λŠ” λ‚œμˆ˜ 생성 ν•¨μˆ˜λ‘œ, ν”„λ‘œκ·Έλž˜λ°μ„ ν•  λ•Œ rand() ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜λŠ” κ³Όμ •μ—μ„œ μ•„λž˜μ˜ μ˜ˆμ‹œμ²˜λŸΌ λ‚œμˆ˜κ°€ μ •μƒμ μœΌλ‘œ μƒμ„±λ˜μ§€ μ•ŠλŠ” κ²½μš°κ°€ μ’…μ’… λ°œμƒν•œλ‹€.

μ‹œλ“œκ°’ μ„€μ • μ „ μ½”λ“œ

 

맀번 같은 수만 μƒμ„±ν•˜λŠ” 컴퓨터

 

 

 

이럴 λ•ŒλŠ” μ•„λž˜μ™€ 같이 Line 12에 srand() ν•¨μˆ˜λ₯Ό μΆ”κ°€ν•˜μ—¬ μ‹œλ“œκ°’μ„ μ„€μ •ν•΄μ£Όλ©΄ 문제λ₯Ό ν•΄κ²°ν•  수 μžˆλ‹€. μ•„λž˜ μ˜ˆμ‹œμ˜ 경우 srand() ν•¨μˆ˜μ˜ μΈμžκ°’μœΌλ‘œ time ν•¨μˆ˜μ˜ 값을 λ„£μ–΄μ£Όμ—ˆμ§€λ§Œ, μΈμžκ°’μœΌλ‘œλŠ” λ‹€μ–‘ν•œ 값듀이 올 수 μžˆλ‹€.

Line 12λ₯Ό μΆ”κ°€ν•˜μ—¬ srand() ν•¨μˆ˜μ˜ μ‹œλ“œκ°’μ„ μ„€μ •

 

λ‚œμˆ˜κ°€ μ •μƒμ μœΌλ‘œ 생성됨을 확인