コントロールが if ブロックの MPI_Send() から else if の MPI_Recv() に直接ジャンプするのはなぜですか。意思決定条件に関する限り、単一のコード ブロックのみを実行する必要があります。
int main(int argc, char *argv[]) {
int number = 54;
MPI_Init(&argc, &argv);
MPI_Comm_size (MPI_COMM_WORLD, &no_of_process);
MPI_Comm_rank (MPI_COMM_WORLD, &process_rank);
MPI_Status status;
if (process_rank == 0) {
MPI_Send (&number, 1, MPI_INT, 1, 0, MPI_COMM_WORLD);
}
else if (process_rank == 1) {
MPI_Recv (&number, 1, MPI_INT, 0, 0, MPI_COMM_WORLD);
}
}