|
답변 감사합니다^^
예제에 있는 소스는..
/*debug.c*/
main()
{
printf("ABCD");
printf("EFG");
printf("\n");
printf("HIJ\nKLMN\n");
}
이렇게 예제가 나와있고, 그 아래로 문제가 이렇게 나와있어요..
문제) debug.c를 컴파일하라. 에러가 발생하는가? 수행시키면 어떤 에러가 발생하는가?
#include <stdio.h>를 안써서 에러가 생길거라고 생각했는데, 에러가 안생기고
컴파일 및 실행이 됩니다.. 제 컴파일러가 이상한 건 아닌지..
답변 감사드립니다^^ 좋은 휴일 보내세요..
Starlet 님이 쓰신 글 :
: 안녕하세요. 소스를 한번 볼수 있을까요?
:
: 저도 예전에 stdio.h 없이 돌아가는걸 무심결에 느낀적이 있는것 같군요.
: 원래는 stdio.h에 있는 printf 같은 함수나 정의를 사용하려면 stdio.h를 생략할 수 없습니다. int printf(const char *format, ...) 와 같은 함수 원형이 있어야 컴파일된 실제 printf 함수에 제대로 된 인자값을 넘겨줄수 있기 때문이죠.
: 그럴리가 없지만, 혹시 옵션에 함수원형이 없어도 무조건 함수를 호출하게 하는 선택이 있다면 가능할 수도 있겠습니다. 이럴 경우 함수의 원형을 정확히 알고 있어야 함수가 제대로 동작하므로 이렇게 되면 그 함수 만든 사람이거나 메뉴얼이 있어야 사용할 수 있겠죠.
:
: 소스를 보면 뭔가 다른게 발견될수도 있으니 소스를 올려주시기 바랍니다.
:
: 크림빵 님이 쓰신 글 :
: : c언어 예제위주로 된 책을 하나 샀는데요..
: : 이 책이.. 일부러 에러가 생기게 소스예제를 주고 틀린점을 스스로 고민하면서 고치도록 돼있는데요..
: : 근데 이 책에서 원하는 건 아마도 #include<stdio.h> 이 한줄을 생략했을때 에러가 난다는 걸 알려주려는 것 같은데.. tc++ 3.0에서는 #include<stdio.h>문을 생략해도 에러가 안나고 버젓이 컴파일 및 실행이 되는거에요..이런..
: : 원래 #include<stdio.h> 문은 생략이 가능한건가요?
: : 여기저기 찾아봐도 생략해도 된다는 말은 없는것 같은데.. 모르겠네요..
: : 제가 다른 컴파일러로는 안해봐서 모르겠구요.. tc++ 3.0에서는 생략해도 에러가 안생기네요..
: : 생략해도 되는줄은 모르고 있었는데.. 전 코딩할때마다 꼬박꼬박 써야되는건줄 알고있어서..
: : 저거 생략하면 입출력문이 안되지 않나하는 생각이 드는데..
: : 모르겠네요.. 궁금합니다..
: :
|