ICT/ν”„λ‘œκ·Έλž˜λ°

Cμ–Έμ–΄ ν•¨μˆ˜ - printf ν•¨μˆ˜, scanf ν•¨μˆ˜

μ•Œ 수 μ—†λŠ” μ‚¬μš©μž 2022. 6. 7. 17:30
λ°˜μ‘ν˜•

 

Cμ–Έμ–΄ ν•¨μˆ˜ - printf ν•¨μˆ˜, scanf ν•¨μˆ˜

 

μ•ˆλ…•ν•˜μ„Έμš”. μ†Œμ†Œν–‰μž…λ‹ˆλ‹€.

ν•¨μˆ˜λž€?

ν”„λ‘œκ·Έλž˜λ°μ—μ„œ ν•¨μˆ˜(function)λž€ ν•˜λ‚˜μ˜ νŠΉλ³„ν•œ λͺ©μ μ˜ μž‘μ—…μ„ μˆ˜ν–‰ν•˜κΈ° μœ„ν•΄ λ…λ¦½μ μœΌλ‘œ μ„€κ³„λœ ν”„λ‘œκ·Έλž¨ μ½”λ“œμ˜ μ§‘ν•©μœΌλ‘œ μ •μ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€. C ν”„λ‘œκ·Έλž¨μ€ μ΄λŸ¬ν•œ Cμ–Έμ–΄ ν•¨μˆ˜λ“€λ‘œ κ΅¬μ„±λ˜λ©° ν¬ν•¨λœ ν•¨μˆ˜λ“€μ„ μ‚¬μš©ν•˜μ—¬ ν”„λ‘œκ·Έλž¨μ˜ λͺ©μ μ„ λ‹¬μ„±ν•˜κ²Œ λ©λ‹ˆλ‹€.

 

Cμ–Έμ–΄ ν•¨μˆ˜λŠ” 크게 ν‘œμ€€ ν•¨μˆ˜μ™€ μ‚¬μš©μž ν•¨μˆ˜λ‘œ ꡬ뢄할 수 μžˆμŠ΅λ‹ˆλ‹€.

ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜λŠ” 이유

Cμ–Έμ–΄ ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜λŠ” κ°€μž₯ 큰 μ΄μœ λŠ” λ°”λ‘œ 반볡적인 ν”„λ‘œκ·Έλž˜λ°μ„ ν”Όν•  수 있기 λ•Œλ¬Έμž…λ‹ˆλ‹€. ν”„λ‘œκ·Έλž¨μ—μ„œ νŠΉμ • μž‘μ—…μ„ μ—¬λŸ¬λ²ˆ λ°˜λ³΅ν•΄μ•Ό ν•  λ•ŒλŠ” ν•΄λ‹Ή μž‘μ—…μ„ μˆ˜ν–‰ν•˜λŠ” ν•¨μˆ˜λ₯Ό μž‘μ„±ν•˜λ©΄ λ©λ‹ˆλ‹€. κ·Έλ¦¬κ³ μ„œ ν”„λ‘œκ·Έλž¨μ΄ ν•„μš”ν•  λ•Œλ§ˆλ‹€ μž‘μ„±ν•œ ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•˜λ©΄ ν•΄λ‹Ή μž‘μ—…μ„ λ°˜λ³΅ν•΄μ„œ μˆ˜ν•Όν•  수 μžˆμŠ΅λ‹ˆλ‹€.

 

λ˜ν•œ, ν”„λ‘œκ·Έλž¨μ„ μ—¬λŸ¬ 개의 ν•¨μˆ˜λ‘œ λ‚˜λˆ„μ–΄ μž‘μ„±ν•˜λ©΄, λͺ¨λ“ˆν™”λ‘œ 인해 전체적인 μ½”λ“œμ˜ 가독성이 μ’‹μ•„μ§‘λ‹ˆλ‹€. 그리고 ν”„λ‘œκ·Έλž¨μ— λ¬Έμ œκ°€ λ°œμƒν•˜κ±°λ‚˜ κΈ°λŠ₯의 변경이 ν•„μš”ν•  λ•Œμ—λ„ μ†μ‰½κ²Œ μœ μ§€λ³΄μˆ˜λ₯Ό ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

ν•¨μˆ˜μ˜ μ •μ˜

Cμ–Έμ–΄μ—μ„œ μ‚¬μš©μž μ •μ˜ ν•¨μˆ˜λ₯Ό μ •μ˜ν•˜λŠ” 방법은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

 

  1. λ°˜ν™˜ νƒ€μž…(return type) : ν•¨μˆ˜κ°€ λͺ¨λ“  μž‘μ—…μ„ 마치고 λ°˜ν™˜ν•˜λŠ” λ°μ΄ν„°μ˜ νƒ€μž…μ„ λͺ…μ‹œν•©λ‹ˆλ‹€.
  2. ν•¨μˆ˜ 이름 : ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•˜κΈ° μœ„ν•œ 이름을 λͺ…μ‹œν•©λ‹ˆλ‹€.
  3. λ§€κ°œλ³€μˆ˜ λͺ©λ‘(parameters) : ν•¨μˆ˜ 호좜 μ‹œμ— μ „λ‹¬λ˜λŠ” 인수의 값을 μ €μž₯ν•  λ³€μˆ˜λ“€μ„ λͺ…μ‹œν•©λ‹ˆλ‹€.
  4. ν•¨μˆ˜ λͺΈμ²΄ : ν•¨μˆ˜μ˜ 고유 κΈ°λŠ₯을 μˆ˜ν–‰ν•˜λŠ” λͺ…λ Ήλ¬Έμ˜ μ§‘ν•©μž…λ‹ˆλ‹€.

 

ν•¨μˆ˜ 호좜 μ‹œμ—λŠ” μ—¬λŸ¬ 개의 인수λ₯Ό 전달할 수 μžˆμ§€λ§Œ, ν•¨μˆ˜κ°€ λ°˜ν™˜ν•  수 μžˆλŠ” 값은 1개λ₯Ό λ„˜μ§€ λͺ»ν•©λ‹ˆλ‹€. λ˜ν•œ, ν•¨μˆ˜μ˜ νŠΉμ„±μ— 따라 μΈμˆ˜λ‚˜ λ°˜ν™˜κ°’μ΄ ν•˜λ‚˜λ„ μ—†λŠ” ν•¨μˆ˜μ‘° μ‘΄μž¬ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

 

λ‹€μŒ μ˜ˆμ œμ—μ„œλŠ” 인수둜 전달받은 두 수 μ€‘μ—μ„œ 더 큰 수λ₯Ό λ°˜ν™˜ν•˜λŠ” bigNum() ν•¨μˆ˜λ₯Ό μ •μ˜ν•˜μ—¬ μ‚¬μš©ν•©λ‹ˆλ‹€.

ν•¨μˆ˜μ˜ μ›ν˜• μ„ μ–Έ

Cμ–Έμ–΄μ—μ„œ ν•¨μˆ˜λ₯Ό μ •μ˜ν•  λ•ŒλŠ” κ·Έ μœ„μΉ˜κ°€ 맀우 μ€‘μš”ν•©λ‹ˆλ‹€. λ‹€μŒ μ˜ˆμ œλŠ” μ•žμ„œ μ‚΄νŽ΄λ³Έ μ˜ˆμ œμ—μ„œ ν•¨μˆ˜ μ •μ˜μ˜ μœ„μΉ˜λ§Œμ„ λ°”κΎΌ μ˜ˆμ œμž…λ‹ˆλ‹€.

Cμ–Έμ–΄μ—μ„œλŠ” κ°€μž₯ λ¨Όμ € main() ν•¨μˆ˜κ°€ μ»΄νŒŒμΌλŸ¬μ— μ˜ν•΄ μ»΄νŒŒμΌλ©λ‹ˆλ‹€. μœ„μ˜ μ˜ˆμ œμ—μ„œ μ»΄νŒŒμΌλŸ¬λŠ” main() ν•¨μˆ˜μ— λ“±μž₯ν•˜λŠ” bigNum() ν•¨μˆ˜λ₯Ό 아직 μ•Œμ§€ λͺ»ν•˜κΈ° λ•Œλ¬Έμ— 컴파일 였λ₯˜λ₯Ό λ°œμƒμ‹œν‚΅λ‹ˆλ‹€. λ”°λΌμ„œ μ»΄νŒŒμΌλŸ¬μ— bigNum() ν•¨μˆ˜λŠ” λ‚˜μ€‘μ— μ •μ˜λ˜μ–΄ μžˆλ‹€κ³  μ•Œλ €μ€˜μ•Όν•©λ‹ˆλ‹€. κ·Έ 역할을 ν•˜λŠ” 것이 λ°”λ‘œ ν•¨μˆ˜μ˜ μ›ν˜•(prototype) μ„ μ–Έμž…λ‹ˆλ‹€.

 

μœ„μ™€ 같이 μ°¨λ‘€λŒ€λ‘œ ν•œ λ²ˆμ— μ»΄νŒŒμΌν•˜λŠ” 방식을 단일 패슀(one pass)컴파일 방식이라고 ν•©λ‹ˆλ‹€. ν•˜μ§€λ§Œ ν•˜λ“œμ›¨μ–΄μ˜ λ°œλ‹¬λ‘œ μ»΄νŒŒμΌλŸ¬μ— 따라 μ—¬λŸ¬ λ²ˆμ— 걸쳐 μ»΄νŒŒμΌν•˜λŠ” 닀쀑 패슀(multi-pass) 방식이 λ§Žμ•„μ§€κ³  μžˆμŠ΅λ‹ˆλ‹€.

 

닀쀑 패슀 λ°©μ‹μ˜ μ»΄νŒŒμΌλŸ¬μ—μ„œλŠ” ν•¨μˆ˜μ˜ μ›ν˜•μ„ μ„ μ–Έν•˜μ§€ μ•Šμ•„λ„ 컴파일 였λ₯˜λ₯Ό λ°œμƒμ‹œν‚€μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ 였래된 μ»΄νŒŒμΌλŸ¬λŠ” λŒ€λΆ€λΆ„ 단일 패슀 λ°©μ‹μœΌλ‘œ μ»΄νŒŒμΌν•˜λ―€λ‘œ Cν‘œμ€€μ—μ„œλŠ” μ—¬μ „νžˆ ν•¨μˆ˜μ˜ μ›ν˜•μ„ μ •μ˜ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

 

ν•¨μˆ˜μ˜ μ›ν˜• 선언은 λ‹€μŒκ³Ό 같은 λ°©μ‹μœΌλ‘œ μ„ μ–Έλ©λ‹ˆλ‹€.

λ‹€μŒ μ˜ˆμ œλŠ” μ•žμ„œ μ‚΄νŽ΄λ³Έ μ˜ˆμ œμ— ν•¨μˆ˜μ˜ μ›ν˜• 선언을 μΆ”κ°€ν•œ μ˜ˆμ œμž…λ‹ˆλ‹€. μ΄λ ‡κ²Œ ν•¨μˆ˜μ˜ μ›ν˜•μ€ main() ν•¨μˆ˜ μ•žμ— 미리 μ„ μ–Έλ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€.

Cμ–Έμ–΄ ν‘œμ€€ μž…μΆœλ ₯ ν•¨μˆ˜

μ‚¬μš©μžκ°€ ν”„λ‘œκ·Έλž¨κ³Ό λŒ€ν™”ν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•˜λŠ” ν•¨μˆ˜λ₯Ό μž…μΆœλ ₯ ν•¨μˆ˜ λ˜λŠ” I/O ν•¨μˆ˜λΌκ³  ν•©λ‹ˆλ‹€. printf() ν•¨μˆ˜μ™€ scanf() ν•¨μˆ˜λŠ” Cμ–Έμ–΄ ν‘œμ€€ μž…μΆœλ ₯ ν•¨μˆ˜ μ€‘μ—μ„œλ„ κ°€μž₯ 많이 μ‚¬μš©λ˜λŠ” λŒ€ν‘œμ μΈ μž…μΆœλ ₯ ν•¨μˆ˜μž…λ‹ˆλ‹€.

printf() ν•¨μˆ˜

printf() ν•¨μˆ˜λŠ” Cμ–Έμ–΄μ˜ ν‘œμ€€ 좜λ ₯ ν•¨μˆ˜λ‘œ μ—¬λŸ¬ μ’…λ₯˜μ˜ 데이터(data)λ₯Ό λ‹€μ–‘ν•œ μ„œμ‹μ— 맞좰 좜λ ₯ν•  수 있게 ν•΄μ€λ‹ˆλ‹€. printf() ν•¨μˆ˜μ˜ μ›ν˜•μ€ λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

printf() ν•¨μˆ˜μ˜ fλŠ” formatted의 μ•½μžμ΄λ©°, μ„œμ‹ν™”λœ 좜λ ₯을 μ§€μ›ν•œλ‹€λŠ” μ˜λ―Έμž…λ‹ˆλ‹€. 이 ν•¨μˆ˜λŠ” 좜λ ₯ν•  데이터λ₯Ό μ–΄λ–€ μ„œμ‹μ— 맞좰 좜λ ₯할지 μ„œμ‹ μ§€μ •μž(format specifier)λ₯Ό 톡해 직접 지정할 수 μžˆμŠ΅λ‹ˆλ‹€.

μœ„μ˜ μ˜ˆμ œμ—μ„œλŠ” intν˜• 데이터λ₯Ό λ‚˜νƒ€λ‚΄κΈ° μœ„ν•΄μ„œ '%d'λΌλŠ” μ„œμ‹ μ§€μ •μžλ₯Ό μ‚¬μš©ν–ˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ, 쀄 λ°”κΏˆμ€ '\n'λΌλŠ” μ΄μŠ€μΌ€μ΄ν”„ μ‹œν€€μŠ€λ₯Ό μ‚¬μš©ν•˜μ—¬ ν‘œν˜„ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

μ΄μŠ€μΌ€μ΄ν”„ μ‹œν€€μŠ€(escape sequance)

μ•žμ„  예제의 첫 번째 printf() ν•¨μˆ˜μ— λ‚˜μ˜¨ '\n'κ³Ό 같은 문자λ₯Ό μ΄μŠ€μΌ€μ΄ν”„ μ‹œν€€μŠ€λΌκ³  ν•©λ‹ˆλ‹€. μ΄λŸ¬ν•œ μ΄μŠ€μΌ€μ΄ν”„ μ‹œν€€μŠ€λŠ” ν”„λ‘œκ·Έλž¨μ˜ κ²°κ³Όκ°€ 화면에 좜λ ₯될 λ•Œ μ‚¬μš©ν•˜κ²Œ 될 νŠΉμˆ˜ν•œ 문자λ₯Ό μœ„ν•΄ λ§Œλ“€μ–΄μ‘ŒμŠ΅λ‹ˆλ‹€.

 

Cμ–Έμ–΄μ—μ„œ μ‚¬μš©λ˜λŠ” μ΄μŠ€μΌ€μ΄ν”„ μ‹œν€€μŠ€λŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

μ΄μŠ€μΌ€μ΄ν”„ μ‹œν€€μŠ€ μ€‘μ—μ„œ '\f'와 '\v'λŠ” ν”„λ¦°ν„°λ‘œ 좜λ ₯ν•  λ•Œμ—λ§Œ 의미λ₯Ό κ°€μ§‘λ‹ˆλ‹€.

μ„œμ‹ μ§€μ •μž(format speccifier)

μ•žμ„  μ˜ˆμ œμ—μ„œ 두 번째 printf() ν•¨μˆ˜μ— λ‚˜μ˜¨ '%d'와 같은 문자λ₯Ό μ„œμ‹μ§€μ •μžλΌκ³  ν•©λ‹ˆλ‹€. printf() ν•¨μˆ˜μ—μ„œλŠ” μ΄λŸ¬ν•œ μ„œμ‹ μ§€μ •μžλ₯Ό 톡해 좜λ ₯ν•  λ°μ΄ν„°μ˜ μ„œμ‹μ„ μ‚¬μš©μžκ°€ 직접 지정할 수 μžˆμŠ΅λ‹ˆλ‹€.

 

Cμ–Έμ–΄μ—μ„œ μ‚¬μš©λ˜λŠ” λŒ€ν‘œμ μΈ μ„œμ‹ μ§€μ •μžλŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

μ„œμ‹ μ§€μ •μžμ˜ λ™μ‹œ μ‚¬μš©

μ—¬λŸ¬κ°œμ˜ μ„œμ‹ μ§€μ •μžλ₯Ό λ™μ‹œμ— μ‚¬μš©ν•˜μ—¬, μ—¬λŸ¬ 개의 데이터에 μ„œλ‘œ λ‹€λ₯Έ μ„œμ‹μ„ 지정해 좜λ ₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 단, μ΄λ•Œ μ„œμ‹ μ§€μ •μžμ˜ μˆœμ„œμ™€ νƒ€μž…μ€ 좜λ ₯ν•  λ°μ΄ν„°μ˜ μˆœμ„œμ™€ νƒ€μž…κ³Ό λ°˜λ“œμ‹œ μΌμΉ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€.

좜λ ₯ ν•„λ“œμ˜ 폭 μ„€μ •

μ„œμ‹ μ§€μ •μžμ˜ '%d'κΈ°ν˜Έμ™€ νƒ€μž…μ„ λ‚˜νƒ€λ‚΄λŠ” 영문자 사이에 숫자λ₯Ό μΆ”κ°€ν•˜μ—¬ 좜λ ₯λ˜λŠ” ν•„λ“œμ˜ 폭을 직접 μ„€μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ‚΄λΆ€μ˜ μˆ«μžλŠ” 였λ₯Έμͺ½ 정렬이 기본이며 숫자 μ•žμ— '-' 기호λ₯Ό 뢙이면 μ™Όμͺ½ μ •λ ¬λ‘œ λ³€κ²½λ©λ‹ˆλ‹€.

 

λ˜ν•œ, 숫자 μ•žμ— '+' 기호λ₯Ό 뢙이면 숫자λ₯Ό 였λ₯Έμͺ½ μ •λ ¬ν•œ μƒνƒœμ—μ„œ μ–‘μˆ˜μ—λŠ” '+' 기호λ₯Ό, μŒμˆ˜μ—λŠ” '-' 기호λ₯Ό λΆ™μ—¬μ„œ 좜λ ₯ν•©λ‹ˆλ‹€. μ΄λ•Œ μ†Œμˆ˜ λΆ€λΆ„μ˜ μˆ«μžλŠ” 좜λ ₯λ˜λŠ” μ†Œμˆ˜μ˜ 자릿수λ₯Ό λͺ…μ‹œν•©λ‹ˆλ‹€.

scanf() ν•¨μˆ˜

scanf() ν•¨μˆ˜λŠ” Cμ–Έμ–΄μ˜ ν‘œμ€€ μž…λ ₯ ν•¨μˆ˜λ‘œ μ‚¬μš©μžλ‘œλΆ€ν„° λ‹€μ–‘ν•œ 데이터λ₯Ό λ‹€μ–‘ν•œ μ„œμ‹μ— 맞좰 μž…λ ₯받을 수 있게 ν•΄μ€λ‹ˆλ‹€. scanf() ν•¨μˆ˜μ˜ μ›ν˜•μ€ λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

scanf() ν•¨μˆ˜μ˜ fλŠ” formatted의 μ•½μžμ΄λ©° μ„œμ‹ν™”λœ μž…λ ₯을 λ°›λŠ”λ‹€λŠ” μ˜λ―Έμž…λ‹ˆλ‹€. 이 ν•¨μˆ˜λŠ” μž…λ ₯받은 데이터λ₯Ό μ–΄λ–€ μ„œμ‹μœΌλ‘œ λ³€ν™˜ν• μ§€ μ„œμ‹ μ§€μ •μž(format specifier)λ₯Ό 톡해 직접 지정할 수 μžˆμŠ΅λ‹ˆλ‹€.

 

λ‹€μŒ μ˜ˆμ œλŠ” μ‚¬μš©μžλ‘œλΆ€ν„° μ •μˆ˜λ₯Ό 두 번 μž…λ ₯λ°›μ•„μ„œ κ·Έ 합을 좜λ ₯ν•˜λŠ” μ˜ˆμ œμž…λ‹ˆλ‹€.

Cμ–Έμ–΄μ—μ„œ 데이터λ₯Ό μž…λ ₯λ°›μœΌλ €λ©΄ μž…λ ₯λ°›κ³ μž ν•˜λŠ” λ°μ΄ν„°μ˜ νƒ€μž…μ— ν•΄λ‹Ήν•˜λŠ” 크기의 λ©”λͺ¨λ¦¬λ₯Ό μš°μ„  ν• λ‹Ήλ°›μ•„μ•Ό ν•©λ‹ˆλ‹€. 이처럼 데이터λ₯Ό μ €μž₯ν•˜κΈ° μœ„ν•΄ ν”„λ‘œκ·Έλž¨μ— μ˜ν•΄ 이름을 할당받은 λ©”λͺ¨λ¦¬ 곡간을 λ³€μˆ˜(variable)라고 ν•©λ‹ˆλ‹€.

 

μ•žμ„  μ˜ˆμ œμ—μ„œ scanf() ν•¨μˆ˜μ— ν¬ν•¨λœ '&' κΈ°ν˜ΈλŠ” μ£Όμ†Œ μ—°μ‚°μž(&)라고 ν•©λ‹ˆλ‹€. 이 μ£Όμ†Œ μ—°μ‚°μžλŠ” μž…λ ₯받은 데이터λ₯Ό 뒀에 λ‚˜μ˜€λŠ” λ³€μˆ˜μ— μ €μž₯ν•˜λΌλŠ” μ˜λ―Έμž…λ‹ˆλ‹€.

μ„œμ‹ μ§€μ •μžμ˜ λ™μ‹œ μ‚¬μš©

μ—¬λŸ¬ 개의 μ„œμ‹ μ§€μ •μžλ₯Ό λ™μ‹œμ— μ‚¬μš©ν•˜μ—¬ μ—¬λŸ¬ 데이터λ₯Ό μ„œλ‘œ λ‹€λ₯Έ μ„œμ‹μœΌλ‘œ ν•œ λ²ˆμ— μž…λ ₯받을 수 μžˆμŠ΅λ‹ˆλ‹€. 단, μ΄λ•Œμ—λŠ” μ„œμ‹ μ§€μ •μžμ˜ μˆœμ„œμ™€ μ €μž₯ν•  λ³€μˆ˜μ˜ μˆœμ„œκ°€ λ°˜λ“œμ‹œ κ°™μ•„μ•Ό ν•©λ‹ˆλ‹€. μž…λ ₯λ°›λŠ” λ°μ΄ν„°μ˜ ꡬ뢄은 곡백(쀄 λ°”κΏˆ, νƒ­, 띄어쓰기 λ“±)을 κΈ°μ€€μœΌλ‘œ μ‚ΌμŠ΅λ‹ˆλ‹€.

 

λ‹€μŒ μ˜ˆμ œλŠ” μ‚¬μš©μžλ‘œλΆ€ν„° 두 개의 μ •μˆ˜λ₯Ό ν•œ λ²ˆμ— μž…λ ₯λ°›μ•„ 각각 8μ§„μˆ˜μ™€ 16μ§„μˆ˜λ‘œ 좜λ ₯ν•˜λŠ” μ˜ˆμ œμž…λ‹ˆλ‹€.

doubleν˜• μ‹€μˆ˜μ˜ μž…λ ₯

scanf() ν•¨μˆ˜λ‘œ floatν˜• μ‹€μˆ˜λ₯Ό μž…λ ₯받을 λ•ŒλŠ” μ„œμ‹ μ§€μ •μžλ‘œ '%f'λ₯Ό μ‚¬μš©ν•˜λ©΄ λ©λ‹ˆλ‹€. ν•˜μ§€λ§Œ doubleν˜• μ‹€μˆ˜λ₯Ό μž…λ ₯받을 λ•ŒλŠ” printf() ν•¨μˆ˜μ—μ„œμ²˜λŸΌ '%f'λ₯Ό μ‚¬μš©ν•˜λ©΄ μ•ˆλ©λ‹ˆλ‹€.

 

scanf() ν•¨μˆ˜λ‘œ doubleν˜• μ‹€μˆ˜λ₯Ό μž…λ ₯받을 λ•ŒλŠ” λ°˜λ“œμ‹œ '%lf' μ„œμ‹ μ§€μ •μžλ₯Ό μ‚¬μš©ν•΄μ•Ό μ •ν™•ν•œ κ°’μœΌλ‘œ μž…λ ₯받을 수 μžˆμŠ΅λ‹ˆλ‹€. λ‹€μŒ μ˜ˆμ œλŠ” μ‚¬μš©μžλ‘œλΆ€ν„° 두 개의 μ‹€μˆ˜λ₯Ό ν•œ λ²ˆμ— μž…λ ₯λ°›μ•„ 좜λ ₯ν•˜λŠ” μ˜ˆμ œμž…λ‹ˆλ‹€.


였늘 ν¬μŠ€νŒ…μ—μ„œλŠ” μ΄λ ‡κ²Œ Cμ–Έμ–΄ ν•¨μˆ˜μΈ printf() ν•¨μˆ˜μ™€ scanf() ν•¨μˆ˜μ— λŒ€ν•΄ μ•Œμ•„λ³΄μ•˜μŠ΅λ‹ˆλ‹€. Cμ–Έμ–΄ ν•¨μˆ˜μΈ printf() ν•¨μˆ˜μ™€ scanf() ν•¨μˆ˜λ₯Ό μ œμ™Έν•˜κ³ λ„ 문자 μž…μΆœλ ₯ ν•¨μˆ˜, λ¬Έμžμ—΄ μž…μΆœλ ₯ ν•¨μˆ˜, 맀크둜 ν•¨μˆ˜ λ“± λ‹€μ–‘ν•œ ν•¨μˆ˜λ“€μ΄ μžˆμœΌλ‹ˆ 이 점은 μ°Έκ³ ν•˜μ‹œλ©΄ μ’‹κ² μŠ΅λ‹ˆλ‹€ :)

 

Cμ–Έμ–΄ ν•¨μˆ˜λ§κ³ λ„ μ œμ–΄λ¬Έ, μ—°μ‚°μž, λ°°μ—΄, 포인터 λ“± Cμ–Έμ–΄μ˜ λŒ€ν•΄μ„œ μ•Œκ³ μ‹ΆμœΌμ‹  λΆ„μ΄κ±°λ‚˜ 더 λ‚˜μ•„κ°€ Cμ–Έμ–΄λ‘œ ν”„λ‘œκ·Έλž˜λ°μ„ 배운 ν›„ ν”„λ‘œκ·Έλž˜λ¨Έλ‘œ μ§„μΆœμ΄ λͺ©μ μ΄μ‹  뢄듀은 μ•„λž˜μ˜ 넀이버 폼을 톡해 κ°„λ‹¨ν•˜κ²ŒλΌλ„ λ‚¨κ²¨μ£Όμ‹œλ©΄ μ œκ°€ 직접 λΉ λ₯΄κ³  μ •ν™•ν•˜κ²Œ μ•ˆλ‚΄ λ„μ™€λ“œλ¦¬κ² μŠ΅λ‹ˆλ‹€.

 

Cμ–Έμ–΄ ν•¨μˆ˜μ— λŒ€ν•œ κΈ€ μ—¬κΈ°μ„œ λ§ˆμΉ˜κ² μŠ΅λ‹ˆλ‹€.

 

κ°μ‚¬ν•©λ‹ˆλ‹€ :)

http://it-kgedu1.kr/support/edu_consult.php

β–² Cμ–Έμ–΄ ν•¨μˆ˜μ— λŒ€ν•œ ꢁ금점 ν•΄κ²°μ²˜ β–²

 

 

IT학원 - KG아이티뱅크 ν™ˆνŽ˜μ΄μ§€

IT학원 KG아이티뱅크 (μ’…λ‘œ, 강남, λ…ΈλŸ‰μ§„, λΆ€μ‚°) 톡합 ν™ˆνŽ˜μ΄μ§€, 학원비 및 μˆ˜κ°•λ£Œ 쑰회. λ°©λ¬Έμƒλ‹΄μ˜ˆμ•½, κ΅μœ‘κ³Όμ •, μƒλ‹΄μ•ˆλ‚΄

it-kgedu1.kr

 

λ°˜μ‘ν˜•