p.146 retuen文と返却値
・関数は0または1個の情報を返すことができる。これが返却値/戻り値で、return文に指定する ・return文には値や式を記述できるので、単純な関数ではreturn文で記述できる場合もある
アレンジ演習:p.147 演習6-1 ex0601.cpp
・関数min2の内容をreturn文のみにしよう ・ヒント:[C] p.146 list0601c.c
作成例
//アレンジ演習:p.147 演習6-1 二つの整数の小さいほうの値を求める
#include <stdio.h>
//--- 小さいほうの値を返す ---//
int min2(int a, int b) //戻り値型はint、引数がint×2
{
return (a < b) ? a : b; //aがb未満ならaの値を、でなければbの値を返す
}
int main(void)
{
int n1, n2;
puts("二つの整数を入力せよ。");
printf("整数1:"); scanf("%d", &n1);
printf("整数2:"); scanf("%d", &n2);
printf("小さいほうの値は%dです。\n", min2(n1, n2)); //関数に2変数の値を渡して最小値を表示
return 0;
}
p.147 list0602.cpp
//p.147 list0602.cpp 三つの整数の最大値を求める
#include <stdio.h>
//--- 三つの整数の最大値を返す ---//
int max3(int a, int b, int c)
{
int max = a; //仮に引数aの値が最大だとする
if (b > max) max = b; //引数bの値が最大値超なら最大値を更新
if (c > max) max = c; //引数cの値が最大値超なら最大値を更新
return max; //最大値を返す
}
int main(void)
{
int a, b, c;
puts("三つの整数を入力せよ。");
printf("整数a:"); scanf("%d", &a);
printf("整数b:"); scanf("%d", &b);
printf("整数c:"); scanf("%d", &c);
printf("最大値は%dです。\n", max3(a, b, c)); //関数の戻り値をそのまま表示(※変数名と引数名が同じだが別物)
return 0;
}
p.147 演習6-2 ex0602.cpp ヒント
・VC++の置換機能を用いてmax⇒min、大きい⇒小さい、最大⇒最小 などの変更をもれなく行うこと ・不等号を反転することも忘れずに
作成例
//p.147 list0602.cpp 三つの整数の最小値を求める
#include <stdio.h>
//--- 三つの整数の最小値を返す ---//
int min3(int a, int b, int c)
{
int min = a; //仮に引数aの値が最小だとする
if (b < min) min = b; //引数bの値が最小値未満なら最小値を更新
if (c < min) min = c; //引数cの値が最小値未満なら最小値を更新
return min; //最小値を返す
}
int main(void)
{
int a, b, c;
puts("三つの整数を入力せよ。");
printf("整数a:"); scanf("%d", &a);
printf("整数b:"); scanf("%d", &b);
printf("整数c:"); scanf("%d", &c);
printf("最小値は%dです。\n", min3(a, b, c)); //関数の戻り値をそのまま表示(※変数名と引数名が同じだが別物)
return 0;
}