Я пытаюсь получить выходные данные этой программы, но, похоже, она отличается от среды, в которой я ее запускаю.Получение различных выходов для программы C? Что должна выводить эта программа?
Является ли ABCADEABC или ABCABCADE или ABCADE или EABCDBC или EABCCD?
Я считаю, что я должен получать ABCABCADE, но интересно, почему я получаю разные результаты, когда они являются одним и тем же кодом?
Что я должен получать?
#include <stdio.h>
#include <unistd.h>
#include <wait.h>
int main(void) {
int pid;
pid= fork();
if (pid == 0) {
fprintf(stdout, "A\n");
pid= fork();
if (pid==0) {
fprintf(stdout, "B\n");
pid=fork();
fprintf(stdout, "C\n");
}
else {
wait(NULL);
fprintf(stdout, "D\n");
}
}
else {
fprintf(stdout, "E\n");
wait(NULL);
}
// your code goes here
return(0);
}
Пожалуйста, отправьте код в виде текста, который может быть скопирован/вставлен скомпилирован и запущен. Опубликуйте [Минимальный, полный и проверенный пример] (http://stackoverflow.com/help/mcve), который показывает проблему. Будьте ясны относительно ввода, ожидаемого выхода и фактического вывода. Все, что у нас есть, это ссылка на изображение и некоторые вафли ABC. Укажите среду, в которой она работает/не работает. –
Отправьте код в тексте, а не изображения. Вырежьте и вставьте код в вопрос и отступьте его, выбрав его и набрав Alt-K – chqrlie
исправил его, надеюсь – Kyle