我正在尝试发送输入消息,但我的程序挂起
#include <string.h>
#include <mpi.h>
#include <stdio.h>
main(int argc,char* argv[]){
int mi_rango;
int p;
int fuente;
int dest;
int etiqueta=0;
char mensaje[100] ;
MPI_Status status;
MPI_Init(&argc,&argv);
MPI_Comm_rank(MPI_COMM_WORLD,&mi_rango);
MPI_Comm_size(MPI_COMM_WORLD,&p);
if(mi_rango==0){
printf("Ingrese la expresión a evaluar: ");
scanf("%s", mensaje);
for(fuente=1;fuente<p;fuente++){
MPI_Send(mensaje,strlen(mensaje)+1,MPI_CHAR,fuente,etiqueta,MPI_COMM_WORLD);
}
}else{
dest=0;
MPI_Recv(mensaje,100,MPI_CHAR,dest,etiqueta,MPI_COMM_WORLD,&status);
printf("%s\n",mensaje);
}
MPI_Finalize();
}
当我运行时:mpirun -np 3 --hostfile ./program它什么都不做。 当我发送程序中定义的消息时,它可以工作。