※ ChatGPTを利用し、要約された質問です(原文:プログラムの通常の流れは上~下でコンパイルされる?)
プログラムの通常の流れは上~下でコンパイルされる?
このQ&Aのポイント
#プログラムの通常の流れは上~下でコンパイルされる?
プログラムの通常の流れは上から下へと順番に実行されるのが一般的ですが、コンパイラによっては最適化や最適順序のルールが存在することもあります。
プログラムの中には、関数の定義と呼び出しの間に定義がある場合、その定義部分は呼び出し部分よりも前にもってくることがあります。これにより、関数が正しく動作するようになります。
プログラムの通常の流れは上~下でコンパイルされる?
#include <stdio.h>
int kansuu(int hikisuu1, int hikisuu2);
int main()
{
int modori;
modori = kansuu(2, 3);
printf("modori = %d\n", modori);
return 0;
}
int kansuu(int hikisuu1, int hikisuu2)
{
printf("kansuu de hyouji\n");
return hikisuu1 * hikisuu2;
}
以上プログラムですが、
結果は以下です。
kansuu de hyouji
modori = 6
素人の目からして!
printf("modori = %d\n", modori);が
最初にあるので
以下がコンパイル結果になりそうですが!?
modori = 6
kansuu de hyouji
この場合なぜ!
kansuu de hyouji
が最初になるのでしょうか!?
よろしくお願いします。
お礼
毎度ご回答まことにありがとうございます。 同じ結果が得られました。 すばらしい。 kansuu de hyouji modori = 6 とても分かりやすいです。 最初のきむずい!プログラムと比較した場合、同じ結果ですが! あえて!きむずいプログラムを使用した目的は! 複雑化していくプログラムの流れの中で、必要だからなのでしょう。 ご紹介していただいた、プログラムと比較しながら勉強したいと思います。 その他のスレッドのご回答いろいろありがとうございます。 今後とももよろしくお願いたいします。