我的名为“a.txt”的文件包含一个数字 ( 47
)。
如果我在没有使用 MPI 的编译器上运行程序,fscanf(a,"%f",&num)
它会给出一个真值 nnum = 47。
如果我使用 MPI ssh 运行程序,它不会返回正确的值。它将返回 num = 1104187136。
为什么是这样?
int main(int argc, char *argv[]){
int count;
FILE *a1;
float a;
int num;
a1 = fopen("a1.txt","r");
MPI_Init(&argc, &argv);
MPI_Comm_size(MPI_COMM_WORLD,&numOfProc);
MPI_Comm_rank(MPI_COMM_WORLD,&my_rank);
if(my_rank == 0){
fscanf(a1,"%f",&num);
a = num;
printf("a = %d",a);
}
MPI_Finalize();
}