我遇到了打印出结构数组的问题。它被初始化像这样:Struct数组正在打印垃圾
struct matrix tokens[nbrState][12];
然后我尝试使用此代码打印出来:
printf("%d", tokens[0][0].state);
for(int q = 0; q < nbrState; q++){
for(int r = 0; r < 12; r++){
printf("%d", tokens[q][r].state);
}
}
它如何以往只是还给
160833216083325909500442637211181530452359314445659095247095039827295039732859091035295039760059091066417471141950397584105931452485931525045870278695909110245869685280135590599950397784950397744593145248159314402459314316859095284905931452481590950044135934508013593144456590952470095039760058696836095039787258698266456147669503978565869965120593144552593143168419536358702168841950960596593143168950398056950398016593144552159315536059315450459095284905931445521015931545041048576587404166341899271605931553609503978729503978563593450804195363-1141298268758698266459314316800419611295039881600950398592587297673016950398176950397984091005908849605884315520000050-100950398592419
而且我不知道为什么。我也用这个for循环来填充数组。
while (fscanf (fp, "%d/%d%c", &index, &separateInt, &separateChar) == 3) {
for(int i = 0; i < 12; i++){
tokens[index][i].state = separateInt;
}
}
那么,你的循环从输入文件中读取'index'值。是什么让你读过的东西说'0'作为索引?我无法从这里看到您的文件输入文件的内容。没人能。我们应该如何知道哪些“索引”值在那里,哪些不是?此外,你确定你的初始化周期甚至运行? – AnT 2014-10-11 00:08:02