我有一个函数可以将文件中的双精度数扫描到单独的数组中,其中双精度数在它们被扫描的数组中交替。
它在大多数情况下都有效,但我还想添加计算扫描了多少双精度的功能,而不管 ARR_SIZE 是多少,所以我可以显示一个警告,说明没有使用多少双精度来将 sigSize 计数器增加到 1500 以上。
我的尝试只是从条件中删除 ARR_SIZE 东西,或者移动它,所以我可以添加第三个计数器,但这会使我的结果错误。此外,如果我用键盘而不是从文件中输入输入,它会自动增加到 1500。
总的来说,我似乎对如何使用 EOF 缺乏明确的了解,任何帮助将不胜感激!
ARR_SIZE 为 1500
Size read_array(double array1[], double array2[])
{
Size size = {0, 0};
int i = 0;
int status1 = 0;
int status2 = 0;
while(size.sigSize1 < ARR_SIZE && size.sigSize2 < ARR_SIZE &&
(status1 != EOF || status2 != EOF))
{
status1 = scanf("%lf", &array1[i]);
if(status1 != EOF)
{
size.sigSize1++;
}
status2 = scanf("%lf", &array2[i]);
if(status2 != EOF)
{
size.sigSize2++;
}
i++;
}
return size;
}