What is the output of this program?
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
int main()
{
pid_t child;
int status;
child = fork();
switch(child){
case -1 ;
perror("fork");
exit(1);
case 0 :
printf("%d\n",getppid());
break;
default :
printf("%d\n",getpid());
wait(&status);
break;
}
return 0;
}
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
int main()
{
pid_t child;
int status;
child = fork();
switch(child){
case -1 ;
perror("fork");
exit(1);
case 0 :
printf("%d\n",getppid());
break;
default :
printf("%d\n",getpid());
wait(&status);
break;
}
return 0;
}A. this program will print two same integer values
B. this program will print two different integer values
C. segmentation fault
D. none of the mentioned
Answer: Option A

Join The Discussion