读书人

关于fsanf的纳闷

发布时间: 2013-02-03 12:33:31 作者: rapoo

关于fsanf的困惑
上代码:

for(; i < 2; i++)//test
{
fscanf(fp,"%f%f%f%f",idParam[i][0],idParam[i][1],idParam[i][2],idParam[i][3]);
printf("%f%f%f%f",idParam[i][0],idParam[i][1],idParam[i][2],idParam[i][3]);
}

我想用上面的代码来读取下面的两行文本:
1.000000 -0.000000 20.000002 0.000001
1.000000 0.000000 -20.000002 0.000001
请问为什么会死掉呢?我应该怎样读取?多谢各位老师!
[解决办法]
此句改为这样!
fscanf(fp,"%f%f%f%f",&idParam[i][0],&idParam[i][1],&idParam[i][2],&idParam[i][3]);
[解决办法]
看起来 少了这个&
[解决办法]
printf里面的%和变量的一一对应关系
scanf里面的%和变量以及变量前加不加&的一一对应关系
是C代码中非常容易出错的地方,而且通常编译还不出错。
所以在编译源代码之前值得专门仔细检查一遍甚至多遍。
另外请检查scanf的返回值。

读书人网 >C++

热点推荐