Мне кажется, это вопрос вообще не по ассемблеру.
Потому что здесь вопрос по синтаксису ЯВУ - как компилятор его закодирует. Тут нет чёткого упора в ассемблер, мнемоники и т.д.
Чат по ассемблеру, вопрос про плюсы) найс)
Ответ: 3.
Да, точно, надо просить входящего написать эквивалент на асме
Вроде, в С всегда 4 будет, а вот в С++ есть проблема с порядком, поэтому может быть другой ответ.
В си правила теже, что и в плюсах
Нет, не всегда. Это просто неправильно
Почему неправильно?
Я выше уже объяснял. Это ub. Там даже на практике не всегда 4
В каком случае будет не 4?
В случае другого компилятора
Так ты же про С и С++ писал...
Да. Или мы уже про другой язык?
Хорошо, на каком компиляторе С или С++ будет не 4?
Если правильно помню, либо на llvm, либо на ms другие ответы получались. Вечером смогу посмотреть
На них тоже 4 будет. Жду.
Другие ответы получались на классическом варианте, потому что есть варианты, когда делать стор после постинкремента. А тут никакой невменяемый компилятор не будет считать инкремент отдельно, а сохранять его результат отдельно. Впрочем, делать так всё равно нельзя. Возможно, стоит поиграть не с целыми, а с указателями.
Другие ответы получались потому, что компилятор имеет право так делать
Ещё раз. Имеет право делать != будет делать. Это как с шутками про format C: при UB. В этом конкретном выражении нет никаких причин разделять прибавление единицы и запись.
По си-подобному языку
Обсуждают сегодня