質問: C言語で関数定義をする際に、たいていの参考書ではmain関数の外で定義されてますが、C言語で書くプログラムのコードが膨大になるにつれて、関数定義も増えてくるので、main関数の外で定義すると、main関数と関数定義間を行ったり来たりする際にまたぐ行数が多くなるため、コードを読むのに時間がかかると思うので、main関数内の初めて自作の関数を使う直前に関数定義をした方がいいと思うのですが、この書き方は良くないですか? ``` #include int main(){ int na, nb; puts("二つの整数を入力してください。"); printf("整数1 : "); scanf("%d", &na); printf("整数2 : "); scanf("%d", &nb); int maxof(int x, int y){ if (x > y) return (x); else return (y); } printf("大きい方の値は%dです。\n", maxof(na, nb)); return (0); ```
回答: 残念ながら、標準的なC言語では、**関数の外でしか**関数を定義できません。関数内関数は、GCCなど一部のコンパイラの拡張です。