Всем привет!
Я написал простенькую программу:
#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"); // !!!
Разве это допустимо?
Как это выполняется, в какой последовательности?
Может результат, полученный мной, зависит от реализации?
Ответ на:
комментарий
от SatanClaus

Ответ на:
комментарий
от Krivenok_Dmitry

Ответ на:
комментарий
от Die-Hard

Ответ на:
комментарий
от Krivenok_Dmitry
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous

Ответ на:
комментарий
от Krivenok_Dmitry
Ответ на:
комментарий
от anonymous

Ответ на:
комментарий
от Krivenok_Dmitry
Ответ на:
комментарий
от Krivenok_Dmitry
Ответ на:
комментарий
от omerm
Ответ на:
комментарий
от anonymous
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Загадки при считывании scanf'ом в C (2016)
- Форум почему код на си не работает как нужно (2023)
- Форум Зацените как GNU C умеет (2008)
- Форум Обьясните суть происходящего при добавлении в stdout «\n» (2014)
- Форум что не так в использовании структуры (2008)
- Форум математика (2005)
- Форум не получается «hello world» в Slackware 9.0 (2003)
- Форум Почему код не компилится (2005)
- Форум Посчитать количетсво определенного слова в файле (2017)
- Форум GCC: template рекурсия (2007)