C计数数据点数%d \ n vs%lf \ n

时间:2014-09-14 13:31:07

标签: c windows count scanf

我有一个C代码,通常我和R合作,所以如果解释是正确的,我不能100%确定。

让我们假设输入是每日股票回报。那么期间的数量是多少?如果返回都在一列中(没有空行),它会返回一个吗?如果两个系列的返回之间有一个空行,它会返回两个吗?为什么%d\n计算一次,%lf\n计算一次?

int i,n;
FILE* input;
input = fopen(name,"r");
if(input == NULL) return -1;
//Read number of data points
fscanf(input,"%d\n",&n);
//Read number of periods (value of s - most likely going to stay 1)
fscanf(input,"%lf\n",&periods);
//Read the initial point (rescaled)
for(i=0;i<6;i++){
    fscanf(input,"%lf\n",&init_point[i]);
}
//Read the data points
for(i=0;i<n;i++){
    fscanf(input,"%lf\n",&data[i]);
}
fclose(input);
//return number of data points
return n;

因为非常重要,我想仔细检查我是否正确阅读。谢谢!顺便说一下,我对期数特别感兴趣。

1 个答案:

答案 0 :(得分:0)

这只是基于代码的假设。

周期数被读取为浮点数,值为0.5表示每1/2小时或1/2分钟等,因此数据点间隔1/2或1/2分钟。< / p>

总之,数据点被读取为整数,每个点间隔由可能浮动的周期数指定。