LINUX.ORG.RU
В данном случае разницы нет.
Операция ',' последовательно вычисляет свои аргументы и результатом операции является значение левого аргумента.
Vinick ★★
()
Разница есть. ',' в этом контексте является бинарным оператором со всеми вытекающими последствиями. т.е. имеет два операнда и результирующее значение, может быть перегружен и т.д., а ';' - просто разделяет два языковых предложения.

На практике это выражается в следующем: Например, можно написать

if (a=b,f(a)) { ... }

но нельзя

if (a=b;f(b)) { ... }

Вот такая фигня

GameMagister
()
Ответ на: комментарий от Vinick
Правого, а не левого. Вычисляются слева направо. Таким образом, разница существенная: в первом случае в a оказывается значение f(b), во втором случае -- b.
ringill
()
Ответ на: комментарий от GameMagister
Да, про "существенную разницу" прогнал, сорри.
ringill
()
Ответ на: комментарий от anonymous
ты бы свой лучше попридержал
anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.