Visual Studio 2007 Communityでコンパイル(CPP)
コード:
typedef enum {
eMenu_Game, //ゲーム
eMenu_Config, //設定
eMenu_Num, //本項目の数
} eMenu;
static int NowSelect = eMenu_Game; //現在の選択状態(初期はゲーム選択中)
int main()
{
printf("menu item Down\n");
for (int i = 0; i < 12; i++) {
NowSelect = (NowSelect + 1) % eMenu_Num;
printf("NowSelect=%d\n", NowSelect);
}
printf("menu item Up\n");
for (int i = 0; i < 12; i++) {
NowSelect = (NowSelect + (eMenu_Num - 1)) % eMenu_Num;
printf("NowSelect=%d\n", NowSelect);
}
return 0;
}
enum”eMenu”での値の割り当てがeMenu_Game=0.eMenu_Config=1,eMenu_Num=2
となりメニュー数2個ですが、値の範囲としては0と1となります。
そのうえで上記プログラムを動かしてみるとわかりますが0~1の範囲に収まっているとおもいます。