Всем привет! Я написал простенькую программу: #include <stdio.h> int f1() { printf("Entering f1\n"); //... printf("Exiting f1\n"); return 0; } int f2() { printf("Entering f2\n"); //... return f1(),printf("Exiting f2\n"); // !!! } int main() { printf("Entering main\n"); f2(); printf("Exiting main\n"); } Вывод программы следующий: Entering main Entering f2 Entering f1 Exiting f1 Exiting f2 Exiting main Всё правильно! Но вот я не очень понимаю как работает строка return f1(),printf("Exiting f2\n"); // !!! Разве это допустимо? Как это выполняется, в какой последовательности? Может результат, полученный мной, зависит от реализации?