C言語入門:関数(2):return文
ここでは、関数の戻り値を説明したいと思います。
サンプル1
以下のサンプルは関数の返り値を使った例です。
#include <stdio.h>
/* 関数a()はintを返すと指定 */
int a()
{
printf("this is a()\n");
return 1;
}
int
main()
{
int i;
/* 関数a()の返り値を変数iに代入します */
i = a();
printf("i = %d\n", i);
return 0;
}
上記例を実行すると「this is a()」と表示された後に「i = 1」と表示されてプログラムが終了します。 このサンプルでは、a()の中で使っているreturn文は関数a()から出るときに1という値を返すという使われ方をしています。
サンプル2
次の例では、a()は100という値を返します。
#include <stdio.h>
/* 関数a()はintを返すと指定 */
int a()
{
printf("this is a()\n");
return 100; /* 今度は100を返します */
}
int
main()
{
int i;
/* 関数a()の返り値を変数iに代入します */
i = a();
printf("i = %d\n", i);
return 0;
}
サンプル3
returnは関数の途中でも使えます。 次は関数a()の途中でreturnをしています。
#include <stdio.h>
/* 関数a()はintを返すと指定 */
int a()
{
if (1) {
/* ここで関数a()は終わります */
return 300;
}
/* ここは通りません */
printf("this is a()\n");
return 10;
}
int
main()
{
int i;
/* 関数a()の返り値を変数iに代入します */
i = a();
printf("i = %d\n", i);
return 0;
}
サンプル4
次は関数a()の返り値を関数b()でそのまま返します。
#include <stdio.h>
/* 関数a() */
int a()
{
printf("this is a()\n");
return 500;
}
/* 関数b() */
int b()
{
printf("this is b()\n");
return a();
}
int
main()
{
int i;
i = b();
printf("i = %d\n", i);
return 0;
}
最後に
とりあえず簡単にreturn文の使い方を示してみました。 とりあえず、この例では何がうれしいかわかりにくいと思いますが。。。 次はもうちょっと複雑な説明になっていく予定です。
おまけ