vakito
Очень нужно Солнце
11-05-2007 10:48
Как себя занять? Правильно, читаем башорг.
Задача.
i=5;
i = ++i+ ++i;
i=?
Ява выдает 13, С++ 14, камрад Xirax говорит, что php выдает 13.
Вопрос: почему разный результат?
это [
кто знает?
]
URL
•
Print
•
Цитировать
«
<
1 из 3
2 из 3
3 из 3
>
»
Комментарии:
vakito
11-05-2007 21:27
Дневник
•
Хочухи
•
Профиль
Zanokra
так. 13 в яве, 14 в сях, если j = ++i+ ++i
URL
Zanokra
11-05-2007 21:27
Дневник
•
Профиль
vakito
Только разобраться потом невозможно, но работает!
а если неправильно?
URL
Zanokra
11-05-2007 21:27
Дневник
•
Профиль
vakito
так. 13 в яве, 14 в сях, если j = ++i+ ++i
значит моя логика написана на яве)
я киборг
URL
vakito
11-05-2007 21:30
Дневник
•
Хочухи
•
Профиль
Zanokra
а если неправильно?
ну автор кода разберется
URL
Anafay
11-05-2007 21:32
Профиль
Камрад
vakito
так. 13 в яве, 14 в сях, если j = ++i+ ++i
Буду настаивать, что не 14, а от 12 до 14
URL
Zanokra
11-05-2007 21:37
Дневник
•
Профиль
http://programming.reddit.com/info/1po78/comments
URL
vakito
11-05-2007 21:40
Дневник
•
Хочухи
•
Профиль
Anafay
ну я без выпендрежей имею в виду
URL
Anafay
11-05-2007 21:43
Профиль
Камрад
vakito
Оно так и будет. Когда пишешь, то думаешь о том, что должно получиться в итоге. А тут итог - 12, 13 и 14. По стандарту иначе не выходит.
URL
vakito
11-05-2007 21:44
Дневник
•
Хочухи
•
Профиль
Anafay
порадовало:
Writing ++i + ++i could start launch missiles, or something, who knows?
URL
sentaus
12-05-2007 01:32
Профиль
Камрад
"Не насилуйте язык попытками его причудливого использования." (c)Дейтел&Дейтел // Как программировать на C++
URL
sentaus
12-05-2007 01:38
Профиль
Камрад
Или вот совсем простое:
{
int i = 0;
i = i++;
}
{
int i = 0;
i = ++i;
}
Что будет в первом случае, и что во втором?
URL
Zanokra
12-05-2007 02:39
Дневник
•
Профиль
sentaus
не определено в обоих случаях, да? или только в первом?
пошла читать про sequence point...
отредактировано: 12-05-2007 04:39 - Zanokra
URL
vakito
12-05-2007 11:15
Дневник
•
Хочухи
•
Профиль
sentaus
да таже фигня, зависящая от компилятора.
URL
sentaus
12-05-2007 19:15
Профиль
Камрад
В C/C++ Undefined в обоих случаях. Но, если я не ошибаюсь, во втором случае получится всегда 1 - вне зависимости от порядка действий. По хорошему на таких вещах нужно в error падать, даже не в warning.
URL
vakito
12-05-2007 19:43
Дневник
•
Хочухи
•
Профиль
sentaus
ну да, во втором так или иначе единица
URL
sentaus
13-05-2007 00:24
Профиль
Камрад
Можно продолжить извраты
#include <iostream>
#include <cstdlib>
using namespace std;
void first()
{
int i = 5;
i = ++i + ++i;
printf("1:i=%d\n", i);
}
int myinc(int &i)
{
return ++i;
}
void second()
{
int i = 5;
i = ++i + ++i;
printf("1:i=%d\n", i);
i = 5;
i=myinc(i)+myinc(i);
printf("2:i=%d\n", i);
}
int main(int argc, char *argv[])
{
printf("Fisrt\n");
first();
printf("Second\n");
second();
return EXIT_SUCCESS;
}
Компилируем в gcc -O0 и получаем:
Fisrt
1:i=14
Second
1:i=13
2:i=13
URL
Zanokra
13-05-2007 00:26
Дневник
•
Профиль
ну да, во втором так или иначе единица
а в первом нет? сначала присваивается 0, потом увеличивается на один..
URL
vakito
13-05-2007 05:04
Дневник
•
Хочухи
•
Профиль
Zanokra
в первом нет. Может сначала присвоиться ноль, а потом увеличивается i на 1. Но присвоенный ноль сохраняется. Плюсы справа.
URL
Zanokra
13-05-2007 05:28
Дневник
•
Профиль
vakito
потом увеличивается i на 1. Но присвоенный ноль сохраняется
как так?
URL
sentaus
13-05-2007 11:05
Профиль
Камрад
Я ещё выше привел программу, где компилятор в двух местах компилирует одинаковый код различными способами.
отредактировано: 13-05-2007 14:02 - sentaus
URL
«
<
1 из 3
2 из 3
3 из 3
>
»
vakito
Ваш комментарий:
Гость
[
+
]
Гость
Логин/пароль
залогиниться
B
I
U
S
Small
CUT
HIDDEN
URL
URL=
IMG
V
#
List
List=
«»
TAGS
OT
maroon
green
blue
center
right
JU
J
QUOTE
HTML
TRANSLIT » RUS
[
vB-код
]
[
translit
]
[смайлики сайта]
Автоматическое распознавание URL
Не преобразовывать смайлики
Cкрыть комментарий
« Вернуться
•
инфо
•
url
•
rss
закладки:
•
лента
•
список
цитатник:
•
лента
дневник:
•
список
•
календарь записей
•
группы записей
•
версия для печати
хочухи:
•
группы хочух
•
rss
поиск по дневнику:
в комментариях
дневники
support
FAQ
кабинет
наугад
поддержать сайт
регистрация
[
10
]
04-10-2016 18:24
РБК. 15.04.2005, Москва 10:...
[
Print
]
Гость
[
31
]
04-10-2016 18:23
Впечатления после первого д...
[
Print
]
1
2
Гость
[
1
]
04-03-2015 22:01
Ненавижу, когда марку автом...
[
Print
]
Гость
[
2
]
22-04-2013 09:38
Армения
[
Print
]
Сказкин Тигр
[
11
]
23-04-2012 09:38
+1
[
Print
]
Ленка-пенка
[
10
]
24-04-2010 00:01
БГМ 2010
[
Print
]
AmateraSu
[
30
]
20-04-2010 11:49
Автолюбитель за зиму совсем...
[
Print
]
1
2
Психолог
[
4
]
12-04-2010 15:12
А желания поучаствовать в м...
[
Print
]
Сказкин Тигр
[
15
]
26-03-2010 10:09
Какая прекрасная вещь MS On...
[
Print
]
vakito
[
2
]
26-03-2010 09:13
А еще я курить бросил. Точн...
[
Print
]
Zanokra
Цитировать
Закрыть