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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Chainyk
15 / 15 / 1
Регистрация: 24.08.2010
Сообщений: 94
#1

Баг компилятора???????? - C++

23.11.2010, 00:31. Просмотров 451. Ответов 7
Метки нет (Все метки)

Почему первая программа дает 6, а вторая 11?
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include "stdafx.h"
#include <iostream>
 
int _tmain(int argc, _TCHAR* argv[])
{
    int a,b,c;
    a=5;
    b=6;
    c = a +++ b;
    std::cout<<a;
    return 0;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include "stdafx.h"
#include <iostream>
 
int _tmain(int argc, _TCHAR* argv[])
{
    int a,b,c;
    b=5;
    c=6;
    a = b +++ c;
    std::cout<<a;
    return 0;
}
У меня 2008 студио (9.0)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.11.2010, 00:31     Баг компилятора????????
Посмотрите здесь:

Баг компилятора или я дурак? - C++
До:http://www.cyberforum.ru/attachment.php?attachmentid=840160&amp;stc=1&amp;d=1496427343 ...

Баг компилятора? Или я чего то не догоняю? - C++
Компилил в 2008 студии. Вопрос: ПОЧЕМУ ЭТОТ КОД КОМПИЛИРУЕТСЯ? class Bee { private: template&lt;class Foo2&gt; Bee&amp;...

Директивы компилятора - C++
Доброго времени суток! Меня интересует что за директивы, и где можно о них почитать. Почему именно эти директивы. Дело в том что...

Директивы компилятора - C++
Имеется такой код: #define MAT(m,r,c) (m) #define m11 MAT(m,0,0) #define m12 MAT(m,0,1) #define m13 MAT(m,0,2) #define m14...

Проблемы компилятора с++ - C++
Всем доброго времени суток. Возникла проблема серьезная. При компиляции кода в netbeans 7.01. с компилятором MinGW пишет Error Makefile 110...

Параметры компилятора С++ - C++
Здравствуйте. Изучаю программирование по книге Хортона. Встретил в 2-х местах понятие параметр компилятора, но как его менять не указано....

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
st_dent
64 / 64 / 3
Регистрация: 05.07.2010
Сообщений: 219
23.11.2010, 00:33     Баг компилятора???????? #2
Цитата Сообщение от Chainyk Посмотреть сообщение
a +++ b;
мне кажется, такое каждый компилятор читает по-своему
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
23.11.2010, 00:39     Баг компилятора???????? #3
a+++b = (a++) + b
первая шесть, потому что а инкрементируется
вторая 5+6
где баг то?

Добавлено через 58 секунд
Цитата Сообщение от st_dent Посмотреть сообщение
мне кажется, такое каждый компилятор читает по-своему
может кто-нибудь блестнет и извлечет чего-нибудь из стандарта =)
st_dent
64 / 64 / 3
Регистрация: 05.07.2010
Сообщений: 219
23.11.2010, 00:42     Баг компилятора???????? #4
извиняюсь, читается вполне однозначно.
C++
1
c = a +++ b;
В соответствии с приоритетами операции, сначала идет постфиксный инкремент, потом сложение, потом присваивание. Так что все однозначно.
Chainyk
15 / 15 / 1
Регистрация: 24.08.2010
Сообщений: 94
23.11.2010, 00:43  [ТС]     Баг компилятора???????? #5
упс... в первой надо с выводить. А почему 11? Почему никакая переменная не инкрементируется?
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
23.11.2010, 00:44     Баг компилятора???????? #6
Chainyk, Постинкремент.
Chainyk
15 / 15 / 1
Регистрация: 24.08.2010
Сообщений: 94
23.11.2010, 00:45  [ТС]     Баг компилятора???????? #7
Понял,спасибо...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.11.2010, 00:45     Баг компилятора????????
Еще ссылки по теме:

Ошибка компилятора - C++
#include &lt;iostream&gt; using namespace std; class ss { public: static bool progress; void changeProgress()

Параметры компилятора - C++
Как узнать стандарт языка? те прописываю я в Си, в том числе, -std=c11 и использую функцию scanf_s() а компилятор ругается, мол &quot;нет...

Оптимизация у компилятора С++ - C++
Добрый день! Начал изучать С++ и случайно заглянул в дизассемблированный код. Лучше бы этого не делал! &gt;8- 01352984 mov ...

Ошибки компилятора - C++
Помогите исправить ошибки, возникшие пр переводе с С++ на С. #include &lt;stdio.h&gt; #include &lt;string.h&gt; #include &lt;stdlib.h&gt; struct...


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

Или воспользуйтесь поиском по форуму:
st_dent
64 / 64 / 3
Регистрация: 05.07.2010
Сообщений: 219
23.11.2010, 00:45     Баг компилятора???????? #8
Цитата Сообщение от Chainyk Посмотреть сообщение
Почему никакая переменная не инкрементируется?
в первом а увеличивается на один после присваивания, во втором b аналогичным образом
Yandex
Объявления
23.11.2010, 00:45     Баг компилятора????????
Ответ Создать тему
Опции темы

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