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文の使い方を示してみました。 とりあえず、この例では何がうれしいかわかりにくいと思いますが。。。 次はもうちょっと複雑な説明になっていく予定です。


次:main関数でのreturn文

- C言語入門 記事一覧

おまけ

IPv6基礎検定

YouTubeチャンネルやってます!