2010-03-20 3 views

답변

7

일반적으로 네 말은 동일합니다.

그러나 그들은 몇 가지 변덕스러운 방법이 아닙니다. 함수 getcharint을 반환하고 char이 아닌 값을 반환합니다. 이렇게하면 getchar 모두 가능한 모든 char 값과 오류 코드가 모두 가능합니다. (가) 행복하게 대부분의 컴파일러로 컴파일 다음 동안 본질적으로 오류 메시지가

char c = getchar(); 

기능 scanf를 멀리 절단되도록

는하지만, 당신이 직접 char 유형을 사용할 수 있습니다과에 에러 코드를 분리 반환 값.

+1

오류 메시지 (복수형), " 오직 "EOF. 하지만 그렇지 않으면이 말이 맞습니다. 또한 라이브러리가 형식 문자열을 구문 분석 할 필요가 없기 때문에 getchar()이 scanf()보다 훨씬 효율적이라고 말해야합니다 (링커는 scanf 인 큰 블록의 블록에서 링크하지 않아도됩니다.)). – DevSolar

1

여기서도 마찬가지입니다. 그러나 문자를 그냥 쓰는 중임을 알고 있다면 printfscanf 변형이 요청을 처리하는 방법을 결정할 때마다 문자열을 파싱해야하므로 getcharputchar이 더 효율적입니다. 또한 더 낮은 수준의 라이브러리에서 호출되어 다른 곳에서 필요하지 않은 경우 printf/scanf 링크가 필요하지 않을 수도 있습니다.