Let's kick it
[혼공C]ch.04_도전 실전 예제 본문
- 문제 보고 그냥 푼 버전.
- 클로드에게 수정할 부분 물어봐서 입력값 검증과 BMI 확인까지 추가한 버전.
소수점 둘째 자리까지 구해야 더 정확해서 좋다고 했는데 까먹고 수정 못함.
- 강의보고 조건 연산자를 사용하는 걸로 바꾼 버전.
- 강의영상에서 성별 얘기가 나와서 만들어 본 버전으로 성별에 따라 다르게 출력하도록 만든 코드.
scanf_s 사용 시에 문자를 입력받을 때는 버퍼 크기도 지정해줘야 한다는 걸 알게 됨.
- 문자 하나(%c)를 입력받을 때: 버퍼 크기 1 지정
- 문자열(%s)을 입력받을 때: 배열 크기만큼 지정
- 반면에 숫자 형식(%d, %f, %lf 등)을 입력받을 때는 버퍼 크기를 지정할 필요 x
-> 이건 scanf_s가 숫자 입력의 경우 자동으로 처리
while (getchar() != '\n')
- 이것은 키보드로 입력된 남은 문자들(\n 포함)을 지우는 것
- 다음 입력을 깨끗하게 받기 위한 조치
- 성별만 확인하는 버전.
입력 버퍼 비우기를 나중에 추가하는 게 더 안전.
특히:
1. 여러 입력을 연속해서 받을 때
2. 다음 입력이 있을 때
3. 사용자가 예상보다 많은 문자를 입력할 수 있는 상황
이런 경우들에서 버퍼를 비워두면 예상치 못한 입력 문제를 방지할 수 있음.
그래서 이 버전에서는 입력 버퍼 비우기를 scanf_s 이후에 추가함.
'c언어' 카테고리의 다른 글
[혼공C]3주차_ch.05,06 (0) | 2025.01.20 |
---|---|
[혼공C]4-2_코드 실행 화면과 확인 문제 (0) | 2025.01.16 |
[혼공C]ch4-1_코드 실행 화면 (0) | 2025.01.14 |
[혼공C]ch.03-2_실행 화면 코드와 기본 숙제 (0) | 2025.01.13 |
[혼공C]ch.03-1_ 코드 실행 화면 (0) | 2025.01.08 |