我试图运行下面的代码MPI。 问题是与scanf
。 该命令继续采取输入,且不会在任何地方。 它应该只需要一个输入字符串。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <mpi.h>
int main(int argc,char * argv[])
{
int npes, myrank, length = 10;
char string[length+1]; // array size changed to length +1 as suggested in comments.
memset(string, 0, length+1);
MPI_Init(&argc, &argv);
MPI_Comm_size(MPI_COMM_WORLD, &npes);
MPI_Comm_rank(MPI_COMM_WORLD, &myrank);
if (myrank == 0) {
printf("Please enter the string of length %d or enter 0 to generate string randomly:\n", length);
scanf ("%10s", string); // format changed as suggested in comments
printf("%s\n", string);
}
MPI_Finalize();
return 0;
}
输出:
平台 :Mac OS X 10.10
MPI版本 :打开MPI:1.8.3
系统信息:苹果LLVM 6.0版(铛- 600.0.54)(基于LLVM 3.5svn)目标:x86_64的-苹果darwin14.0.0线程模型:POSIX
如果我错了地方请指正。