有人可以给我一个暗示,为什么这不打印数组?我不知道我的打印功能有什么问题。我想在将其他部分添加到我的代码之前确保它正常工作。我猜我没有正确设置阵列&这就是为什么没有打印出来的原因。
spark.storage.memoryFraction
答案 0 :(得分:1)
这里有多个错误。 首先,由于这一行,你应该得到一个超出边界的例外 (在更高级的编程语言中):
stuId[NUMSTU] = studentId;
stuId
是一个初始长度为NUMSTU
的数组。
您尝试在NUMSTU
中访问它,即使它有可访问的插槽
仅在0
和(NUMSTU-1)
之间。
你可能想做这件事:
stuId[stuCount] = studentId;
在打印中,您只需再次打印阵列的位置 然后再次。而不是:
print("%d", stuId);
做的:
print("%d", stuId[stuCount]);
哦,是的,第三个错误,在这里:
int stuCount = 0;
int totStu = 0;
stuCount
和totStu
已被声明为全局变量
(意味着每个功能都可以访问它们)。
你正在做的是定义具有相同名称的新变量,
但其他功能无法访问。
所以你应该决定它们是全球的还是本地的。
无论如何,你应该把它改成:
stuCount = 0;
totStu = 0;
现在应该可以了。