噫吁嚱,危乎高哉,细节决定成败
#define PN_INFO_LEN 32
const char* arrProductInfo[] = {
/*product type*/
"ANALOG_GM",
"DIGITAL_GM",
/*product serial*/
"REVERSE",
"AMBER_II",
"SHELL",
"MINI_SHELL",
"CORAL",
"CORAL_ROCK",
/*keys layout*/
"DIGITAL",
"SINGLE_HOME",
"DIRECT_2HOME",
"DIRECT_4HOME",
"DIRECT_8HOME",
"DIRECT_10HOME",
"DIRECT_12HOME",
"ONE_HOME_PWD",
/*support access system or not*/
"NO_AS",
"ID_READER",
"IC_READER",
"WIGEND",
"EMPTY_SLOT",
/*support camera or not*/
"NO_CAMERA",
"D1_CAMERA",
/*color*/
"Aluminum silver sand",
"Aluminum silver wire",
"Aluminum ochre sand",
/*languae*/
"CH+EN",
"EN+CH",
"HE+EN",
"BO+EN",
"TI+EN"
"UNKNOWN"
};
少了一个逗号,导致
arrProductInfo[31]内存非法访问,因为数组元素个数就是31,那最后的“TI+EN”“UNKNOWN”是一个字符串