Приведенный выше код создает новый процесс, когда он выполняет вызов fork, этот процесс будет почти точной копией исходного процесса. Оба процесса будут продолжать выполнять sepotratly в форме возврата, вызов вилки, который вызывает вопрос «Как узнать, если im новый процесс или старый?» так как они почти идентичны. Для этого разработчики fork заставили вызов fork возвращать разные вещи в каждом процессе, в новом процессе (дочернем) вызов fork возвращает 0, а исходный процесс (родительский) fork возвращает идентификатор нового процесса, чтобы родитель мог взаимодействовать с ним.
Так что в коде вызов fork создает дочерний процесс, оба процесса выполняют оператор if seporatly. В родительском объекте возвращаемое значение не равно нулю, поэтому родительский оператор выполняет оператор if. В дочернем случае возвращаемое значение равно 0, поэтому он выполняет оператор else. Надеюсь, что это поможет :-)
Нужна «домашняя работа»? –