-4

我的代码和我的输出

我使用空来假设我不知道数组中存储了多少项目[cr. 金贾尔·迪克西特]

4

1 回答 1

1

您正在越界访问您的数组。

例如

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...
于 2013-09-27T04:53:31.140 回答