2012-12-21 2 views
0

코드소켓 프로그래밍 : 여기에 무슨 문제가 있습니까?

struct sockaddr_in ser; 
... 
#line 68 
fprintf(stderr, "Can't find host %s\n", inet_ntoa(ser.sin_addr)); 

컴파일 (GCC ...) 경고

68: warning: format '%s' expects type 'char *', but argument 3 has type 'int' 

하지만 "inet_ntoa()이"오른쪽 "의 char *"를 반환해야합니까?

+2

ok, 누락 된 #은 을 포함하지만 실제로 취해진 기본값은 무엇입니까? – user180574

답변

2

기본적으로 활성 프로토 타입없이 사용되는 함수는 int을 반환합니다. 이 동작은 ISO C 표준 (적어도 C90에서는)에서 지정됩니다.

컴파일러가 올바른 원형을 가질 수 있도록 해당 함수가 선언 된 위치에 헤더 파일을 포함해야합니다.

관련 문제