Обьяснит простое уровнение на C#

using System;
using System.Globalization;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            int a = 3;
            int b = 5;
            int c = 40;
            int d = c-- - b * a;
            Console.WriteLine($"a={a}  b={b}  c={c}  d={d}");

        }
    }
}

Я не очень понимаю данный код. Сначала идёт 40-1=39 затем 5*3=15 и 39-15=24 тогда вопрос как получается 25? Что я упустил прошу обьяснить глупому


Ответы (1 шт):

Автор решения: tym32167

c-- означает, что сначала посчитается значение всего выражения, а потом уже из с уменьшится на единицу. То есть сначала будет

d=40-5*3, 

а потом уже

c=c-1. 

То, что вы описываете, будет выглядеть как

int d = --c - b * a
→ Ссылка