c - MPI 为什么这个简单的循环不起作用?

标签 c mpi

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include "mpi.h"
#define BUFFER_SIZE 65536

int main (int argc, char **argv) {
        int int_buff[BUFFER_SIZE];
        char char_buff[BUFFER_SIZE];
        int n, myid;
        int buflen, ntimes;
        double starttime, endtime;

        MPI_Status status;
        MPI_Init(&argc, &argv);
        MPI_Comm_rank(MPI_COMM_WORLD, &myid);
        buflen = 2;

        if (myid == 0) {
                int i;
                for (i = 0 ; i++ ; i < 500  ) {
                printf("Lala");
                }
        }
        MPI_Finalize();
        return EXIT_SUCCESS;
}

我正在使用mpiexec --hostfile hostfile -np 2 ping_pong。没有打印任何内容,但是当我更改循环顶部 for(;;) 时它可以工作,为什么会这样?

最佳答案

for 循环中的表达式放置错误。 for loop 的语法是

 for(INITIALIZATION; CONDITION; INCREMENT/DECREMENT)
     Statement 

改变

for (i = 0 ; i++ ; i < 500  )  

for (i = 0 ; i < 500; i++  )

关于c - MPI 为什么这个简单的循环不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21739805/

相关文章:

c - 错误: expected declaration specifiers or '...' before '{' token

c - 在函数参数中使用 union

c - 数组排序和删除重复项

c - 无限循环,c逻辑思维

python - Microsoft MPI 中的 -bind-to 命令

c - 简单 MPI 流水线环广播代码中的死锁

MPI 中的 C++ double 类型

arrays - 求c中二维数组一列的最大和

java - Scatter 和 Gather 在 MP J Express 中的工作原理

python - Scikit-learn:并行化随机梯度下降