이 프로그램을 컴파일하면 다음과 같은 진단 정보(diagnostic)C가 출력된다.
터미널
0 > c99 -Wall -o bad bad.c
1 bad.c:4:6: warning: return type of 'main' is not 'int' [-Wmain]
2 bad.c: In function 'main':
3 bad.c:16:6: warning: implicit declaration of function 'printf' [-Wimplicit-function...
4 bad.c:16:6: warning: incompatible implicit declaration of built-in function 'printf'...
5 bad.c:22:3: warning: 'return' with a value, in function returning void [enabled by de...
결과를 보면 한 줄을 꽉 채울 정도로 긴 ‘경고’ 메시지가 여러 줄 나온다. 실행 파일이 생성되긴 하지만 프로그램을 실행해 보면 결과가 다르게 나온다. 이럴 때는 세부 사항에 주의를 기울여 확인해 봐야 한다.
clang은 gcc보다 진단 메시지가 더 길게 나온다.
터미널
0 > clang -Wall -o getting-started-badly bad.c
1 bad.c:4:1: warning: return type of 'main' is not 'int' [-Wmain-return-type]
2 void main() {
3 ^
4 bad.c:16:6: warning: implicitly declaring library function 'printf' with type
5 'int (const char *, ...)'
6 printf("element %d is %g, \tits square is %g\n", /*@\label{printf-start-badly}*/
7 ^
8 bad.c:16:6: note: please include the header <stdio.h> or explicitly provide a
9 declaration for 'printf'
10 bad.c:22:3: error: void function 'main' should not return a value [-Wreturn-type]
11 return 0;
12 ^ ~
13 2 warnings and 1 error generated.