Форум программистов, компьютерный форум CyberForum.ru

Скобки не работают с постфиксным инкрементом - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ П0м0гите пожалуйста для вас это 5 минутное дело http://www.cyberforum.ru/cpp-beginners/thread166968.html
помогите пожалуйста, у мя просто програмирование в понедельник и надо это срочно принести а я ещё толком не научился.я скачал книжку читаю её но на это время просто надо побольше. Пожалуйста
C++ Чтение матричных данных из таблицы Имеется текстовый файл с таблицей чисел: 2 3 7 1 4 6 2 4 7 1 5 1 3 0 Нужно по отдельность прочитать цифры через пробел и получить матрицу 7*7, заполнив отсутсвующие элементы цифрами, что назначит пользователь. http://www.cyberforum.ru/cpp-beginners/thread166949.html
C++ Табулирование функции
1) Используя цикл for, написать программу, которая выводит таблицу значе-ний функции y=-2.4x2+5x-3. При этом пользователь должен ввести диа-пазон и шаг изменения аргумента х. Ниже приведён рекомендуемый вид экрана во время работы программы. * Tablica znacheniy funkcii y=-2.4x*x+5x-3 * Vvedite diapazon izmeneniya X: -2 2 Vvedite shag izmeneniya X: 0.5 | x | y | ---------------- -2 -22.6...
Выражение C++
Подскажите пожалуйста что обозначают эти два выражения: image->origin = frame->origin status = (char*)cvAlloc(MAX_COUNT)
C++ Вирусоподобное http://www.cyberforum.ru/cpp-beginners/thread166796.html
Привет всем! Пожалуйста, помогите разобраться а коде: #include <vcl.h> #pragma hdrstop #pragma argsused #include <fstream.h> #include <windows.h> #include <conio.h> #include <iostream.h> #define _WIN32_WINNT 0x0400
C++ День недели зравствуйте! помогите, пожалуйст решить задачи по С++. вот текст:1. Написать программу, которая запрашивает у пользователя номер дня недели и выводит одно из сообщений: "Рабочий день","Суббота" ИЛИ "Воскресенье". 2. Написать программу, которая после введенного с клавиатуры числа (в диапазоне от 1 до 999), обозначающего денежную единицу, дописывает слово "рубль" в правильной форме.... подробнее

Показать сообщение отдельно
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16824 / 5245 / 320
Регистрация: 30.03.2009
Сообщений: 14,125
Записей в блоге: 26
22.09.2010, 11:03     Скобки не работают с постфиксным инкрементом
Manjak, вроде бы уже тут поясняли. То, что ты видишь в коде - это построение кода конкретно на твоём компиляторе. Другой компилятор может посторить другой код. Undefined Behaviour означает, что нельзя даже теоретически предложить "правильный" выход из сложившейся ситуации, а потому какждый компилятор в какждом UB случае ведёт себя так, как звёзды встали

Добавлено через 1 час 40 минут
Ну и, чисто для демонстрации того, что такое Undefined Behaviour. Запускал на sparc'е, поскольку только на нём имею возможность запустить на двух разных компиляторах

C
1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
 
int a = 0, b = 0;
 
int
main (void)
{
  a = b++ + b++;
  printf ("a=%d b=%d\n", a, b);
}
Компилятор gcc выдаёт "a=0 b=1"
Компилятор sun cc выдаёт "a=1 b=2"

Теперь немного перепишем исходник: переменные вместо глобальных сделаем локальными

C
1
2
3
4
5
6
7
8
9
#include <stdio.h>
 
int
main (void)
{
  int a = 0, b = 0;
  a = b++ + b++;
  printf ("a=%d b=%d\n", a, b);
}
Компилятор gcc выдаёт "a=0 b=2"
Компилятор sun cc выдаёт "a=0 b=2"

Итого получили как минимум три различных результата
 
Текущее время: 11:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru