数字を表示するプログラムを作ろうとしています。サブルーチンを1つ使っただけの単純なプログラムなのですが、コンパイルエラーになってしまい動きません。
![](/wp-content/include/images/avatar/teacher/5.png)
何が間違っているか分かりますか?
main.c
#include <stdio.h>
#include <stdlib.h>
int main(void) {
PrintNumber(123);
return EXIT_SUCCESS;
}
void PrintNumber(int n) {
printf("number = %d\n", n);
}
期待される実行結果
number = 123
![](/wp-content/include/images/avatar/teacher/3.png)
PrintNumber()
がサブルーチンになっているのが分かるかしら?
![](/wp-content/include/images/avatar/student/2.png)
はい。
main()
から呼び出そうとしてるんですよね。
![](/wp-content/include/images/avatar/teacher/10.png)
でも、この書き方だとコンパイルできないのよ。
![](/wp-content/include/images/avatar/student/7.png)
とくに間違っているようには見えないですけど……。
![](/wp-content/include/images/avatar/teacher/2.png)
じゃあ、前の問題にもサブルーチンが出てきていたのは覚えてる?
![](/wp-content/include/images/avatar/student/5.png)
え?もしかして、第04問のプログラムのことですか?
![](/wp-content/include/images/avatar/teacher/4.png)
そうそう。あのときと何が違うのか考えてみるといいかもよ。
![](/wp-content/include/images/avatar/teacher/7.png)
2つの関数の並び順に注目してみましょう。