Программа должна принять десять входных данных, это тоже происходит одновременно, в то время как другие процессы происходят, используя fork ().Вместо этого он просто идет "Введите ввод:
Введите ввод: введите ввод: введите ввод: введите ввод: введите ввод: введите ввод: введите ввод: ..."
int main(int argc, char * argv[])
{
int n1 = fork();
int n2 = fork();
if (n1 == 0 && n2 > 0 ){
getMarks();
}
else if (n1 > 0 && n2 == 0){
printf("child2")
}
else if (n1 > 0 && n2 > 0){
printf("Parent");
}
else {
printf("Child3");
}
}
void getMarks(){
printf("Enter ten marks: \n");
int i = 0;
int highestMark = 0;
for (i; i < 10; i++){
int num = 0;
printf("Enter Mark: ");
scanf("%d", &num);
if (num > highestMark) {
highestMark = num;
}
}
printf("Highest Mark is : %d", highestMark);
}
ОжидаемыйВ результате другие дочерние и родительские элементы будут выводиться на консоль, а также иметь возможность передавать данные в getMarks ()