不要相信老谭了,在他编写的<<C程序设计>>第二版中,318页 例 13.3程序是错误的.
我已经运行过了.[此贴子已经被作者于2006-6-21 17:53:38编辑过]
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main(void)
{
FILE *fp=fopen("c:\\unknown.bin","wb");//创建1个二进制文件
float a[1000],tmp;
int i;
for(i=0;i<1000;i++)
{
tmp=sqrt(i+1);
fwrite(&tmp,sizeof(float),1,fp);//写入头1000个自然数的平方根
}
fclose(fp);//关闭该文件
system("type c:\\unknown.bin");//显示“乱码”
printf("\npress Enter key to continue...\n");
scanf("%*c");
fp=fopen("c:\\unknown.bin","rb");//重新打开该文件
fread(a,sizeof(float),1000,fp);//将1000个float读入a[]
fclose(fp);//关闭该文件
for(i=1;i<=1000;i++)
{
printf("%7.2f",a[i-1]);//展示之以进行验证
if(i%10==0)printf("\n");//每行输出10个数
}
return 0;
}
[此贴子已经被作者于2006-6-21 18:29:23编辑过]