スポンサーリンク

偶数か奇数か判定する関数を実装

偶数か奇数か判定する関数を実装してみました。

enumで偶数と奇数の定数を定義します。

typedef enum ret{
	RET_EVEN = 0,
	RET_ODD
}ret_t;

2で割ったあまりが0の時は偶数、そうでないなら奇数を返します。
int isEveOrOdd(int num){
	if(num % 2 == 0){
		return  RET_EVEN;
	}else{
		return RET_ODD;
	}
}

配列で偶数と奇数の文字列を定義しておき、isEveOrOdd()の戻り値に応じて、偶数か奇数かをprintf出力するようにしました。
char* str[] = {
	"偶数", //RET_EVEN
	"奇数"  //RET_ODD
};

下記は、for文で1〜7までの整数を生成して、偶数か奇数かをprintf出力しています。
	for(num = 1; num < 7; num++){
		printf("%dは%sです\n", num, str[isEveOrOdd(num)]);
	}

スポンサーリンク

サンプルコード

下記がサンプルコードになります。

 $ cat sample.c
#include <stdio.h>

typedef enum ret{
	RET_EVEN = 0,
	RET_ODD
}ret_t;

char* str[] = {
	"偶数", //RET_EVEN
	"奇数"  //RET_ODD
};

int isEveOrOdd(int num){
	if(num % 2 == 0){
		return  RET_EVEN;
	}else{
		return RET_ODD;
	}
}

int main(){
	int num;
	
	for(num = 1; num < 7; num++){
		printf("%dは%sです\n", num, str[isEveOrOdd(num)]);
	}
			
	return 0;
}
</stdio.h>

下記が実行結果になります。
 $ gcc -o sample sample.c 
 $ ./sample 
1は奇数です
2は偶数です
3は奇数です
4は偶数です
5は奇数です
6は偶数です

スポンサーリンク