C 언어 각 타입에 대한 출력에 대해서 질문 입니다.
글쓴이: gdhome / 작성시간: 월, 2010/09/20 - 3:45오후
안녕하세요
막 입문한 초보자입니다 :)
다름이 아니라 궁금한점이 있는데 책에 나온 예제를 보다보니
regexec(&re, string, MAX_NUM, match, 0);
라는 정규식 표현을 쓰면
printf("%d", match[0].rm_so);
로 시작 오프셋을 찍는 것으로 쓰여있는데요
컴파일시 당연한 소리겠지만 타입이 맞지 않다는 워닝이 나옵니다.
실제 돌려보면 잘 돌아가지만 이렇게 경고 메시지가 나오는 경우는 그냥 무시해도 넘어가도 되는 부분인가요?
즉 정상적인 경우라고 가정하고 그냥 넘어가도 돼는 것인지 궁금하네요 :)
Forums:
#include <stdio.h> -- C
--
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://www.cinsk.org/cfaqs/
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
경고 메세지가 나왔다면,
어떻게 나왔는지 메세지를 보시면 더 정확히 판단할 수 있겠는데,
printf("%d", match[0].rm_so);
위의 문장에서 경고 메세지가 나왔다면, rm_so의 데이터 타입이 정수형이 아닐 수 있습니다.
입출력간에 데이터 타입(char, int, float, double, void, signed, unsigned 등..)의
불일치는 경고메세지만 나오고 실행은 됩니다만, 정확한 수치가 필요한 부분에서는
오차가 발생할 수 있으므로 상호 정확히 일치시켜 주시는 것이 좋겠습니다.
From:
*알지비 (메일: rgbi3307(at)nate.com)
*학창시절 마이크로마우스를 만들었고, 10년동안 IT관련 개발자로 일하고 있음.
*틈틈히 커널연구회(http://www.kernel.bz/) 내용물들을 만들고 있음.
*((공부해서 남을 주려면 남보다 더많이 연구해야함.))
From:
*알지비 (메일: rgbi3307(at)nate.com)
*커널연구회(http://www.kernel.bz/) 내용물들을 만들고 있음.
*((공부해서 남을 주려면 남보다 더많이 연구해야함.))
댓글 달기