多谢各位高手不吝赐教!!
请帮忙看看一下程序并提出具体的修改意见和建议。
#include
#include
#define N 10
void main(){
int i,s[N],o[N];
fstream xsx("data.dat",ios::in|ios::out);
for(s[0]=1,i=0;i if(i>0)s[i]=s[i-1]*(i+1);
xsx.setf(ios::left);
xsx.seekp((long)((i)*6),ios::beg);
xsx.write((char*)&s[i],sizeof(int)).put('\n');
xsx.read((char*)&o[i],sizeof(int));
xsx.seekg((long)((i)*6),ios::beg);
cout< }
}
运行之后程序没有从1的阶层开始运算,而是跳到了二开始。而当我把它修改成一下程序时,运行却很顺利。这两个程序看似相同,为什么却有着完全不同的结果呢?
#include
#include
#define N 10
void main(){
int i,s[N],o[N];
fstream xsx("data.txt",ios::out|ios::in);
for(s[0]=1,i=0;i if(i>0)s[i]=s[i-1]*(i+1);
xsx.setf(ios::left);
xsx.seekp((long)(i*6),ios::beg);
xsx.write((char*)&s[i],sizeof(s[i]));
xsx.put('\n');
xsx.seekg((long)(i*6),ios::beg);
xsx.read((char*)&o[i],sizeof(s[i]));
cout.width(9);
cout.setf(ios::right);
cout< }
}
--------------------next---------------------
阅读(1187) | 评论(0) | 转发(0) |