ほとんどの関数は、式の中で使えて、演算したり、代入したり、printfで表示させるデータとして使えます。
この関数のデータとなる値は、戻り値と呼ばれています。
(リターンバリューや返り値と呼ばれる場合もあります。)
以下に例を示します。
以下は、9と25のルート(平方根)を求めている具体例です。
sqrt関数を使うには、math.hをインクルードします。
#include <stdio.h> #include <math.h>/* sqrt関数を使うため */ main() { double r2; r2 = sqrt( 9 ); printf( "9の平方根は%fです。\n", r2 ); printf( "25の平方根は%fです。\n", sqrt( 25 ) ); }
大事なことは戻り値の型です。sqrt関数はdouble型の関数なのです。
なお、負のデータに対する平方根は計算できません。つまりsqrt(-4.0) で正しい結果はえら得ません。
以下で、乱数を生成するint型のrand関数を紹介します。
乱数とは、バラバラなデータのことで、規則性のないデータが作られます。
rand関数は、使う前にsrand関数で内部情報を初期化するのが一般的です。
例においてsrand引数の123は、乱数の元になる情報で、シードと呼ばれます。
このシードの値で、ランダムの生成パターンが決ります。
一般にsrand関数を実行するのは、プログラム起動時の一回だけ実行させます。
現在の時間をシードに使う場合は、srand( (unsigned)time( NULL ) );と実行させます。
time関数は、time.hをインクルードして使います。
上記の繰り返しの中で表示される乱数の範囲を0〜100の範囲に変更してみましょう。
←正しく修正してからクリックください。
なお、srand関数の戻り値はありません。このように戻り値がない関数は、void型とよばれます。