Результат операции, действия над операндами
Обычно результат операции представляет собой новое, самостоятельное значение, которое затем может использоваться в качестве операнда в последующих операциях. Входные операнды при этом остаются без изменения. В Си схема может быть сложнее - операнды некоторых операций могут изменяться в процессе ее выполнения. Самый простой пример - операция присваивания:
a = b;
// Действие над операндом: переменная a получает значение переменной b
// Результат: значение переменной a после присваивания
Наличие у операции результата позволяет использовать ее в контексте (окружении) других операций, например:
c = (a = b) + 5; // эквивалентно a = b; c = a + 5;
Более интересный случай представляют собой операции инкремента и декремента, в которых действие не совпадает с результатом, например:
a++;
// Действие над операндом: переменная a увеличивается нa 1
// Результат: значение переменной до ее увеличения
c = A[i++]; // эквивалентно c = A[i]; i = i + 1;