C语音,怎么让fork循环?

PPID: 310, PID: 497, ping
PPID: 497, PID: 498, pong
PPID: 498, PID: 499, ping
PPID: 499, PID: 500, pong
上述是要求输出,第一个必须标为ping,子程序必须标为pong,不允许使用wait和fork,我应该怎么让fork一直运行呢
这是我自己写了的一部分:

#include
#include
int main ()
{
pid_t fpid;
fpid=fork();

if (fpid < 0)
    printf("error in fork!");
else if (fpid == 0) {
    printf("PPID: %d ", getppid());
    printf(", ");
    printf("PID: %d ",getpid());
    printf("pong \n");

}
else {
    printf("PPID: %d ", getppid());
    printf(", ");
    printf("PID: %d ",getpid());
    printf("ping \n");
}


exit(0);

}

可以用递归代替循环

exit(0);
上面加上
main();

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^