打印用户输入数组

时间:2017-05-07 16:09:09

标签: c arrays

有人可以给我一个暗示,为什么这不打印数组?我不知道我的打印功能有什么问题。我想在将其他部分添加到我的代码之前确保它正常工作。我猜我没有正确设置阵列&这就是为什么没有打印出来的原因。

spark.storage.memoryFraction

1 个答案:

答案 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;

stuCounttotStu已被声明为全局变量 (意味着每个功能都可以访问它们)。 你正在做的是定义具有相同名称的新变量, 但其他功能无法访问。 所以你应该决定它们是全球的还是本地的。 无论如何,你应该把它改成:

stuCount = 0;
totStu = 0;

现在应该可以了。