関数に次のコードがあります
char MenuOptions[7][200];
strcpy(MenuOptions[0], "Create New / Modify Existing Customer");
strcpy(MenuOptions[1], "Create New / Modify Existing Product");
strcpy(MenuOptions[2], "List All customers");
strcpy(MenuOptions[3], "List All Products");
strcpy(MenuOptions[4], "Batch Update of New Stock");
strcpy(MenuOptions[5], "Create Customer Order");
strcpy(MenuOptions[6], "View Last Order for Customer");
switch (displayMenu("Main Menu", MenuOptions, 7, TRUE)) {
etc....
と
char displayMenu(char *name, char *options[], int menuLength,
enBoolean QuitEnabled) {
int i;
printf("%s: \n", name);
for (i = 0; i < menuLength; i++) {
printf("\t %d %s.\n", (i + 1), options[i]);
}
if (QuitEnabled == TRUE)
printf("\t Q. Quit\n");
etc
ただし、displayMenuメソッドに入ると、MenuOptions配列がメモリから失われたように見えます。Eclipseの式ウィンドウでoptions[i]が何であるかを確認してみましたが、値として「範囲外」であると表示されます。