以下是DEV-C++下的程序:
#include <stdio.h>
#include <stdlib.h>
void main()
{
int i,j,k;
float A[2][3],B[3][2],C[2][2];
FILE *rp,*wp;
rp=fopen("C:\\Users\\Alex\\Documents\\DEV-C++\\T&M\\In-1.txt","r");
wp=fopen("C:\\Users\\Alex\\Documents\\DEV-C++\\T&M\\Out-1.txt","w");
for(i=0; i<2; i++)
for(j=0; j<3; j++)
fscanf(rp,"%f",&A[i][j]);
/* for(i=0; i<3; i++)
for(j=0; j<2; j++)
B[i][j]=A[j][i];
for(i=0; i<2; i++)
for(j=0; j<2; j++)
{
s=0;
for(k=0; k<3; k++)
s+=A[i][k]*B[k][j];
C[i][j]=s;
}*/
for(i=0; i<2; i++)
for(j=0; j<3; j++)
fprintf(wp,"%f\n",A[i][j]);
/* for(i=0; i<3; i++)
for(j=0; j<2; j++)
fprintf(wp,"%f\n",B[i][j]);
for(i=0; i<2; i++)
for(j=0; j<2; j++)
fprintf(wp,"%f\n",C[i][j]);*/
}
输出的TXT文件~Out-1.txt里的数据为~
9.000000
18.000000
18.000000
36.000000
~有误~而且不论输出的是A、B或C数组~输出数据都是以上4个数据~
但是,用VC2010时,同样的程序码~可以正确输出~
~~~求解~~~
#include <stdio.h>
#include <stdlib.h>
void main()
{
int i,j,k;
float A[2][3],B[3][2],C[2][2];
FILE *rp,*wp;
rp=fopen("C:\\Users\\Alex\\Documents\\DEV-C++\\T&M\\In-1.txt","r");
wp=fopen("C:\\Users\\Alex\\Documents\\DEV-C++\\T&M\\Out-1.txt","w");
for(i=0; i<2; i++)
for(j=0; j<3; j++)
fscanf(rp,"%f",&A[i][j]);
/* for(i=0; i<3; i++)
for(j=0; j<2; j++)
B[i][j]=A[j][i];
for(i=0; i<2; i++)
for(j=0; j<2; j++)
{
s=0;
for(k=0; k<3; k++)
s+=A[i][k]*B[k][j];
C[i][j]=s;
}*/
for(i=0; i<2; i++)
for(j=0; j<3; j++)
fprintf(wp,"%f\n",A[i][j]);
/* for(i=0; i<3; i++)
for(j=0; j<2; j++)
fprintf(wp,"%f\n",B[i][j]);
for(i=0; i<2; i++)
for(j=0; j<2; j++)
fprintf(wp,"%f\n",C[i][j]);*/
}
输出的TXT文件~Out-1.txt里的数据为~
9.000000
18.000000
18.000000
36.000000
~有误~而且不论输出的是A、B或C数组~输出数据都是以上4个数据~
但是,用VC2010时,同样的程序码~可以正确输出~
~~~求解~~~
