Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.10.2017, 23:41   #1
Zylaks
Новичок
Джуниор
 
Регистрация: 04.10.2017
Сообщений: 3
По умолчанию Не работает инкремент для указателей параметров

Всем привет. почему не работает инкрементирование указателя?

Код:
#include <iostream>

using namespace std;

void LevelUp(int *level);

int main()
{
	setlocale(LC_ALL, "Russian");

	int playerLevel = 0;

	cout << "Текущий уровень " << playerLevel << endl;
	cout << "LEVEL UP!\n";

	LevelUp(&playerLevel);

	cout << "Текущий уровень " << playerLevel << endl;

	cin.get();
	return 0;
}

void LevelUp(int *level)
{
	*level++;
}
Т.е. *level++ не изменяет значение переменной playerLevel, а если написать *level+=1; то переменная playerLevel принимает значение 1
Zylaks вне форума Ответить с цитированием
Старый 04.10.2017, 23:56   #2
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Возьмите в скобки (*Level) ++
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 05.10.2017, 09:36   #3
Zylaks
Новичок
Джуниор
 
Регистрация: 04.10.2017
Сообщений: 3
По умолчанию

Цитата:
Сообщение от WorldMaster Посмотреть сообщение
Возьмите в скобки (*Level) ++
Спасибо, объясните пожалуйста, почему так?
Zylaks вне форума Ответить с цитированием
Старый 05.10.2017, 09:50   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Потому что ++ можно применять и к указателям, например в массиве.
arr[42] это тоже самое, что arr + 42
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 05.10.2017, 10:06   #5
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Цитата:
Сообщение от Zylaks Посмотреть сообщение
объясните пожалуйста, почему так
Прочитайте про приоритеты операций.
Например, чему равно 2 + 2 * 2
waleri вне форума Ответить с цитированием
Старый 05.10.2017, 11:15   #6
Zylaks
Новичок
Джуниор
 
Регистрация: 04.10.2017
Сообщений: 3
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
Прочитайте про приоритеты операций.
Например, чему равно 2 + 2 * 2
Ну это понятно :D
Zylaks вне форума Ответить с цитированием
Старый 05.10.2017, 11:46   #7
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Ну так и тут абсолютно то же http://en.cppreference.com/w/cpp/lan...tor_precedence
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Использование указателей для организации связанных списков Jalgas-xan Паскаль, Turbo Pascal, PascalABC.NET 2 21.02.2013 22:41
массив указателей для для динамической памяти petro.chelsea1234 Общие вопросы C/C++ 0 04.12.2012 01:38
инкремент и for ts-alan Общие вопросы C/C++ 6 25.08.2010 13:57
Инкремент для указателя массива структур Valter Общие вопросы C/C++ 6 31.05.2010 18:30
Инкремент и дикремент Golovastik Общие вопросы C/C++ 3 16.07.2009 13:39