Я написал эту программу, которая взяла N количество аргументов и отправила их от первого дочернего процесса до последнего. Второй ребенок добавляет 20% к полученной им стоимости, а третий ребенок добавляет 30%.
Проблема в том, что первый ребенок всегда отправляет только первый аргумент. Я не могу найти ошибку. Может ли кто-нибудь помочь мне решить эту проблему? Вот пример вывода:Трубная связь между 4-мя детьми процессами работает только в первый раз
./prodajnaVerigaAnon 200 100 50
312 312 312
Это должно быть: 312 156 78.
Вот код:
for(int i=1;i<argc;i++) {
char init_price[size];
const int len = sprintf(init_price,"%d",atoi(argv[i]));
write(fd1[1], init_price, (size_t) len + 1);
}
close(fd1[1]);
_exit(0);
EDIT: Я удалил большую часть кода, потому что это было назначение школы.