Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 4 из 4
  1. #1
    Аватар для geneff
    Пользователь

    Статус
    Оффлайн
    Регистрация
    03.07.2017
    Сообщений
    44
    Репутация:
    5 ±

    О переменных

    Здравствуйте.

    Есть разницa между:

    i++ и ++i
    i--- и --i ?
    Последний раз редактировалось geneff; 15.02.2018 в 14:05.

  2. #2
    Аватар для Long-
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.11.2016
    Сообщений
    131
    Репутация:
    23 ±
    Префиксный инкремент/декремент - вначале происходит увеличение/уменьшение значения переменной, после извлечение значения, и использование его в выражении.
    Постфиксный инкремент/декремент - вначале извлечение значения, и использование его в выражении, после происходит увеличение/уменьшение значения переменной.
    Последний раз редактировалось Long-; 15.02.2018 в 14:13.

  3. #3
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    "i++" называется "постинкремент"
    "++i" называется "преинкремент"

    Отличия разберём на примере:
    PHP код:
    new i;
    5;
    printf("%d"i++);

    5;
    printf("%d", ++i); 
    В первом случае мы увидим в консоли "5", так как постинкремент подразумевает то, что сначала мы получаем текущее значение переменной "i", а после изменяем его на единицу (если вставить ещё один printf и вывести значение i, мы увидим "6")

    Во втором же случае мы увидим "6", так как преинкремент подразумевает то, что сначала значение переменной "i" изменяется на единицу, а уже после мы получаем получившееся значение.

    Если речь идёт про циклы
    PHP код:
    for(new iMAX_PLAYERSi++)
    for(new 
    iMAX_PLAYERS; ++i
    То тут существенной разницы нет, так как у цикла прописана своя логика работы. Сначала инициализируется переменная, потом проверяется условие, потом выполняется код в теле цикла и только потом происходит выполнение поститерационной команды - тех самых "i++" и "++i". Собственно, так как изменение значения переменной происходит отдельно от условия и всех остальных операций с применением этой переменной, не важно каким образом её изменять, ибо результатом каждой итерации цикла будет как раз выполнение поститерационной команды.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  4. #4
    Аватар для geneff
    Пользователь

    Статус
    Оффлайн
    Регистрация
    03.07.2017
    Сообщений
    44
    Репутация:
    5 ±
    Спасибо за ответы!

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •