/* 簡単なC言語プログラム */
#include <stdio.h>

int main(void)
{
  print("簡単なC言語プログラム!\n") ; /* printfをprintと記述 */
  return(0) ;
}


% gcc sample.c
Undefined                       first referenced
 symbol                             in file
print                               /var/tmp//ccI1NZXU.o
ld: fatal: Symbol referencing errors. No output written to a.out
collect2: ld returned 1 exit status

関数printfが未定義というエラーメッセージが表示される.

/* 簡単なC言語プログラム */
#include <stdio.h>

int main(void)
{
  printf("簡単なC言語プログラム!\n")  /* 文の終わりを示す「;」を忘れた */
  return(0) ;
}


% gcc sample.c
sample.c: In function `main':
sample.c:7: parse error before "return"

文の終わりを示す「;」(セミコロン」を忘れたのは6行目だが,エラーメッセージは7行目のreturnの前にエラーがあるというメッセージになる.6行目の「;」を忘れたため,コンパイラは6行目から7行目を1つのステートメントと見なしているので,このようなエラーメッセージになる.