MPI_Init(NULL, NULL);
https://github.com/whitehatcode/mpitutorial/blob/gh-pages/tutorials/mpi-send-and-receive/code/send_recv.c#L16
Any reason you put NULL at both positions? We could improve the code for better with standard coding practice. Please let me know if you have specific reason.