ReturnValue = strlen("abcdef");
↓ 関数strlenが処理された後
ReturnValue = 6;
引数が関数に与える情報ならば、戻り値とは関数からの返事のようなものなのです。 それでは、戻り値が使われている例を、もう少し見てみましょう。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void main()
{
char buffer[256]; /* 文字列の一時的な格納領域 */
int return_value; /* 文字列の比較結果 */
int number; /* 変換後の数値 */
/**
* ユーザに名前の入力を促す
*/
printf("あなたの名前を、入力して下さい\n");
gets(buffer);
/**
* 名前が太郎であるか比較する
*/
return_value = strcmp("太郎", buffer);
/**
* 比較結果に応じて、メッセージを出力する
*/
if (return_value == 0) {
printf("あなたは、太郎さんですね\n");
} else {
printf("あなたは、太郎さんではなく、%sさんですね\n", buffer);
}
/**
* ユーザに数字の入力を促す
*/
printf("何桁かの数字を入力して下さい\n");
gets(buffer);
/**
* 文字列を整数型の数値に変換する
*/
number = atoi(buffer);
/**
* 数値の奇偶に応じて、メッセージを出力する
*/
if ((number % 2) == 0) {
printf("偶数%dを入力しましたね\n", number);
} else {
printf("奇数%dを入力しましたね\n", number);
}
}
いきなり、二つの関数が出てきましたね。 strcmp(stringをcompare(比較する)の意味)と、 atoi(ascii(文字コードの内の一つ)to integerの略)の二つが出てきました。
| 1番目の文字列が 2番目より小さい |
等しい | 1番目の文字列が 2番目より大きい |
|
|---|---|---|---|
| 戻り値 | 0より小さい値 (注18) |
0 | 0より大きい値 |