Есть ли различие между ++i и i++ для цикла - C#
Формулировка задачи:
Листинг программы
- for(int i = 0; i < 5; i++)
Решение задачи: «Есть ли различие между ++i и i++ для цикла»
textual
Листинг программы
- .method private hidebysig static void PreInc() cil managed
- {
- IL_0000: ldsfld int32 Test.Program::number //Кладём на стек значение переменной number (0)
- IL_0005: ldc.i4.1 //Кладём на стек единицу (0 1)
- IL_0006: add //Берём два значения со стека, складываем, кладём обратно (1)
- IL_0007: dup //Дублируем значение со стека (1 1)
- IL_0008: stsfld int32 Test.Program::number //Забираем значение со стека в number (number = 1)
- IL_000d: call void Test.Program::Check(int32) //Забираем со стека значение и вызываем функцию: Check(1)
- } // end of method Program::PreInc
- //Получаем выход: Passed: 1, Current: 1
- ...
- .method private hidebysig static void PostInc() cil managed
- {
- IL_0000: ldsfld int32 Test.Program::number //Кладём на стек значение переменной number (1)
- IL_0005: dup //Дублируем значение со стека (1 1)
- IL_0006: ldc.i4.1 //Кладём на стек единицу (1 1 1)
- IL_0007: add //Берём два значения со стека, складываем, кладём обратно (1 2)
- IL_0008: stsfld int32 Test.Program::number //Забираем значение со стека в number (number = 2)
- IL_000d: call void Test.Program::Check(int32) //Забираем со стека значение и вызываем функцию: Check(1)
- } // end of method Program::PostInc
- //Получаем выход: Passed: 1, Current: 2
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д