Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
wondermilk
4 / 4 / 7
Регистрация: 12.12.2014
Сообщений: 123
1

Инкремент в макроподстановке

28.06.2015, 12:25. Просмотров 283. Ответов 3
Метки нет (Все метки)

C
1
#define max(A, В) ((А) > (В) ? (А) : (В))
Если я пошлю в max i++ и j++ (то есть max(i++, j++) ), то, как я прочитал в книге, это вызовет увеличение i и j дважды. Но я так и не разобрался, почему. Подскажите. Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.06.2015, 12:25
Ответы с готовыми решениями:

Инкремент адреса
При инкрементировании адреса насколько понимаю просто переходим на следующую...

Где правильно поместить инкремент
Задача была сократить запись этой функции int count_spaces(const char *s) {...

Массив и инкремент - прокомментировать код
Доброго времени суток. Пожалуйста, расшифруйте для меня этот синтаксис. ...

Постфиксный инкремент - исправить ошибку в коде
Добрый вечер. подскажите почему данный код не работает? int a = 0; ++a++;

Инкремент адреса внутри функции с воздействием на внешнюю переменную
Есть код #include <stdio.h> void func(char *str) { ++str; } int...

3
rattrapper
foo();
866 / 570 / 221
Регистрация: 03.07.2013
Сообщений: 1,547
Записей в блоге: 2
28.06.2015, 13:59 2
потому, что
C
1
2
3
a = max(i++, j++)
//преобразовуется в:
a = ((i++) > (j++) ? (i++) : (j++))
Добавлено через 13 минут
wondermilk, нашел в интернетах, как можно обойти:
C
1
2
3
4
#define max(a,b) \
   ({ __typeof__ (a) _a = (a); \
       __typeof__ (b) _b = (b); \
     _a > _b ? _a : _b; })
0
wondermilk
4 / 4 / 7
Регистрация: 12.12.2014
Сообщений: 123
28.06.2015, 16:25  [ТС] 3
Спасибо
0
Evg
Эксперт CАвтор FAQ
19305 / 7159 / 533
Регистрация: 30.03.2009
Сообщений: 20,036
Записей в блоге: 30
28.06.2015, 18:54 4
Цитата Сообщение от rattrapper Посмотреть сообщение
wondermilk, нашел в интернетах, как можно обойти
Сие, грубо говоря, работает только для gcc
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.06.2015, 18:54

Инкремент
Можно каким то образом вставить инкремент в пост переменную? Например $_POST;

Простой инкремент
Добрый день! Начал изучать Haskell и столкнулся с проблемой. Как сделать...

Инкремент ссылки
int arr = {....} ; while(arr) // arr ссылка на начало массива то есть на 0...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru