C/본수업

[2025.03.14] Ch.08_문자 입출력과 입력 유효성 검사

polibo 2025. 3. 14. 20:16

하,,, getchar(), putchar(),,,,,, 이거 처음에 너무 힘들었는데,,,, 오늘 이해 완!!! 

보여주겠다!!!!

 

[getchar(), putchar()]

어제 getchar() 쓴거 제대로 이해한건지 몰랐는데, 안했더라구욥 ㅋㅋㅋ 문자를 안받아서 버퍼에 남아있는 문자 때문에 넘어가는게 아니고, 우리가 scanf로 입력을 받으면, 엔터를 치잖아요??? 그거 때문이더라구요!!

 

scanf("%c", &char_);

입력 >> y + 엔터(\n)

이렇게 입력 하잖아요??? 그럼 char_ 라는 변수에 문자 y가 입력 됩니다! 근데, 아직 엔터(\n)이 남아있잖아요???? 그래서 그냥 엔터번가 되어버림,,,, 헐,,,, 나 이엔 제대로 이해한거 맞죠??????????

 

그 다음 오늘 getchar(), putchar() 부분,,, chapter08,,, 공포 그 자체,,,

읽어도 이해가 안되는건 어떻게 해야하나요,,,,, 그래도 나는 오늘 남아서 이해를 해버렸다리!

교수님 감쟈룽입니다 ㅠ.ㅠ

 

putchar()가 printf()랑 비슷하게 쓰이는 것 같아서 puchar()를 printf()로 대체해서 써봤는데, 똑같이 동작하더라구요...?

 

● 그럼 다른 점이 무엇일까요??

☞ 다른 점은!!!!! printf()는 문자, 문자열, 완전 가능가능! 근데 putchar()는 문자 하나!!!만 가능!

getchar(), putchar() 둘 다 문자 하나만! 입출력 가능가능!!

그니까 문자 하나만 출력하는데, printf()를 쓰면 개미를 잡으려고 다이너마이트 사용하는 꼴이 된다는 말씀!!!! 앞으로 문자 하나만 출력하고 싶으면 putchar()를 잘 이용해 보겠습니다!!

 

 

● get이랑 put은 상관관계가 있나요?

☞ 둘 다 뒤에 char가 붙어서 뭔가 get에서 버려진걸 put으로 불러올 수 있나? 라는 생각도 해봤는데, 전혀전혀 아님!!!!!! 그냥 남남!! getchar() 사용해서 버퍼에서 버려진건 다시 불러올 수 없음!!

그걸 확인하고 싶으면 변수에 값을 넣어주면 됩니다!!

ex) a = getchar();