Мне нужно создать программу, которая:
- попросить номер
- создать дочерний процесс (используя vfork)
- вычислить квадратный корень (в дочернем процессе)
- показать квадратный корень из родительского процесса
Вот мой код
#include <stdio.h>
#include <sys/types.h>
#include <math.h>
#include <unistd.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
double n=0;
printf("Number: "); //ask number
scanf("%d", &n);
pid_t pid = vfork(); //create child process
if (pid==0)//if child process
{
printf("Child process started\n");
n = sqrt(n);//calculate square root
}
else//parent process
{
printf("Returnning to parent process\n");
printf("Square Root: %d",n);
}
return 0;
}
Но мой код не работает, кто-нибудь может мне помочь?
vfork()
вместоfork()
?vfork()
обычно считается устаревшим. - person FatalError   schedule 25.03.2013scanf()
иprintf()
не соответствуют типуn
. - person FatalError   schedule 25.03.2013