What is the output of this program?
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
int main()
{
pid_t child;
int a, status;
a = 10;
child = fork();
switch(child){
case -1 :
perror("fork");
exit(1);
case 0 :
printf("%d\n",a);
break;
default :
wait(&status);
break;
}
return 0;
}
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
int main()
{
pid_t child;
int a, status;
a = 10;
child = fork();
switch(child){
case -1 :
perror("fork");
exit(1);
case 0 :
printf("%d\n",a);
break;
default :
wait(&status);
break;
}
return 0;
}A. 10
B. garbage value
C. segmentation fault
D. program will give an error because variable "a" is not defined in child process
Answer: Option A

Join The Discussion