Let's kick it

[혼공C]ch.04_도전 실전 예제 본문

c언어

[혼공C]ch.04_도전 실전 예제

bloggerddori 2025. 1. 18. 23:36
 
I’m Ready
아티스트
청하
앨범
EENIE MEENIE
발매일
2024.03.10

 

 

- 문제 보고 그냥 푼 버전.

 

- 클로드에게 수정할 부분 물어봐서 입력값 검증과 BMI 확인까지 추가한 버전.

소수점 둘째 자리까지 구해야 더 정확해서 좋다고 했는데 까먹고 수정 못함.


- 강의보고 조건 연산자를 사용하는 걸로 바꾼 버전.

영상과 같게 따라해 본 코드

 

- 강의영상에서 성별 얘기가 나와서 만들어 본 버전으로 성별에 따라 다르게 출력하도록 만든 코드.

scanf_s 사용 시에 문자를 입력받을 때버퍼 크기도 지정해줘야 한다는 걸 알게 됨.

- 문자 하나(%c)를 입력받을 때: 버퍼 크기 1 지정
- 문자열(%s)을 입력받을 때: 배열 크기만큼 지정
- 반면에 숫자 형식(%d, %f, %lf 등)을 입력받을 때는 버퍼 크기를 지정할 필요 x
-> 이건 scanf_s가 숫자 입력의 경우 자동으로 처리

while (getchar() != '\n')

  • 이것은 키보드로 입력된 남은 문자들(\n 포함)을 지우는 것
  • 다음 입력을 깨끗하게 받기 위한 조치


- 성별만 확인하는 버전.

입력 버퍼 비우기를 나중에 추가하는 게 더 안전.

특히:
1. 여러 입력을 연속해서 받을 때
2. 다음 입력이 있을 때
3. 사용자가 예상보다 많은 문자를 입력할 수 있는 상황

이런 경우들에서 버퍼를 비워두면 예상치 못한 입력 문제를 방지할 수 있음.

그래서 이 버전에서는 입력 버퍼 비우기를 scanf_s 이후에 추가함.