컴퓨터학과 신입생입니다 c언어에 관한 질문좀..

west의 이미지

얼마전 c언어 기말시험을 봤는데 (시험결과는 아직 안나왔지만) 아직까지 분이 안풀려서 질문 올립니다
과연 c언어시간에 어떠한 한 환경에 의존적인 것만 가르치는게 옳은걸까요?
얼마전에는 수업시간에 입력받을때 버퍼때문에 예상치 못한게 나온다거나 할때 fflush(stdin);을 쓰라는 말을 하셨고 심지어 fflush함수를 버퍼에 남아있는 데이터를 "삭제하는" 함수라고 설명을 했구요.. 물론 while (getchar != '\n');같은 트릭을 가르쳐주긴 하셨지만 수업 끝나고 fflush함수에 stdin 넣는것은 비표준적이고 작동도 제대로 안되는건데 왜쓰냐고 여쭈어봤는데 그냥 visual c에서는 작동을 하는거니깐 그거 써보고 안되면 while (getchar != '\n');같은걸 쓰라고 하시더군요..
게다가 이번 시험에서는 프로그램을 실행할때 바로 닫히지 않게 아무 키나 입력받으면 종료된다는 함수라면서 getch 함수에 대해 물어봤네요..;; 이런게 과연 나와도 되는건지;;
그리고 변수의 크기같은것을 고정된것처럼 말씀하시더라구요. 포인터변수의 크기는 4바이트니깐 어쩌구 저쩌구...

shint의 이미지

궁금하시면. fflush() 로 찾아보세요.
fflush() 함수에 인자값. 리턴값. 오류값을 확인해보세요.

C++ 책. C책. Visual C++책. Visual C++.NET 책. MFC 책. GCC 책. Assembly 책...
10년동안 사람보다. 책만 봐야겠네요.

C specification 문서를 보셔도 됩니다. 이렇게 시키는대로 살아야 겠네요.

잘 알게 되었으면. 다른분들도 많이 알려주시구요.
어른과 선생님께 함부로 대들지는 마시구요.

저는 CapsLock 키가 뭐하는지. 이해하는데만 3년 걸렸습니다.

아 선생이 이거도 몰라. 따지면서 괴롭히다가. 선생님이 없어진다고 생각해보세요.
나가서 노가다하셔야 할겁니다.

----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.

각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com

jeff_an의 이미지

저도 그 마음 이해합니다 ㅎㅎ..
학부 과정에서 깊게 배운다는 기대는 조금 어렵구요, 그런 호기심으로 열심히 공부하는 게 답이에요..
그래도 그게 비 표준적인 행동이라는 걸 알잖아요, 클래스 메이트들 대부분 모를거에요.