【发布时间】:2013-10-03 06:21:15
【问题描述】:
我使用空来假设我不知道数组中存储了多少项目[cr.金贾尔·迪克西特]
【问题讨论】:
-
请不要将您的代码作为屏幕截图发布!
-
你有什么问题?
标签: c arrays linux multidimensional-array
我使用空来假设我不知道数组中存储了多少项目[cr.金贾尔·迪克西特]
【问题讨论】:
标签: c arrays linux multidimensional-array
您正在越界访问您的数组。
例如
char name[HAVE_DISCOUNT][HAVENT_DISCOUNT][MAX_LENGTH];
//...
sscanf( input, "%s", name[i][HAVENT_DISCOUNT] ); // <-- out of bounds
您必须使用小于该维度大小的正整数来索引您的数组。
也许你想要这样的东西:
typedef enum {
HAVE_DISCOUNT,
HAVENT_DISCOUNT,
NUM_DISCOUNT_TYPES
} DiscountType;
const int MAX_NAMES = 32;
char name[MAX_NAMES][NUM_DISCOUNT_TYPES][MAX_LENGTH];
// etc...
【讨论】: