91

tango пишет:

//       (-)          порядок обхода этого дерева стандарты С/C++ не определяют
//     /     \        результатом будет 0, если справа налево
// (a--)   (--a)     или 2, если слева направо

слишком много "если".
вопрос был поставлен прямо: "сколько получится, и почему именно столько?"
кстати, ответ ваш неверный:

 Консоль:
$ ./m
Введите число: 17

x-- - --x = 1

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

92

Klim пишет:

может хватит показывать из себя умного

чё-то не тянет на умного - даёт ответ 0 или 2, а получается 1  :lol:

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

93

вот как решил данную задачу мой компилятор:

080483d4 <main>:
 80483d4:    8d 4c 24 04              lea    0x4(%esp),%ecx
 80483d8:    83 e4 f0                 and    $0xfffffff0,%esp
 80483db:    ff 71 fc                 pushl  -0x4(%ecx)
 80483de:    55                       push   %ebp
 80483df:    89 e5                    mov    %esp,%ebp
 80483e1:    51                       push   %ecx
 80483e2:    83 ec 14                 sub    $0x14,%esp
 80483e5:    b8 10 85 04 08           mov    $0x8048510,%eax
 80483ea:    83 ec 0c                 sub    $0xc,%esp
 80483ed:    50                       push   %eax
 80483ee:    e8 0d ff ff ff           call   8048300 <printf@plt>
 80483f3:    83 c4 10                 add    $0x10,%esp
 80483f6:    b8 2c 85 04 08           mov    $0x804852c,%eax
 80483fb:    83 ec 08                 sub    $0x8,%esp
 80483fe:    8d 55 f4                 lea    -0xc(%ebp),%edx
 8048401:    52                       push   %edx
 8048402:    50                       push   %eax
 8048403:    e8 08 ff ff ff           call   8048310 <__isoc99_scanf@plt>
 8048408:    83 c4 10                 add    $0x10,%esp
 804840b:    8b 45 f4                 mov    -0xc(%ebp),%eax
 804840e:    8b 55 f4                 mov    -0xc(%ebp),%edx
 8048411:    4a                       dec    %edx
 8048412:    89 55 f4                 mov    %edx,-0xc(%ebp)
 8048415:    8b 55 f4                 mov    -0xc(%ebp),%edx
 8048418:    89 c1                    mov    %eax,%ecx
 804841a:    29 d1                    sub    %edx,%ecx
 804841c:    89 ca                    mov    %ecx,%edx
 804841e:    48                       dec    %eax
 804841f:    89 45 f4                 mov    %eax,-0xc(%ebp)
 8048422:    b8 2f 85 04 08           mov    $0x804852f,%eax
 8048427:    83 ec 08                 sub    $0x8,%esp
 804842a:    52                       push   %edx
 804842b:    50                       push   %eax
 804842c:    e8 cf fe ff ff           call   8048300 <printf@plt>
 8048431:    83 c4 10                 add    $0x10,%esp
 8048434:    b8 00 00 00 00           mov    $0x0,%eax
 8048439:    8b 4d fc                 mov    -0x4(%ebp),%ecx
 804843c:    c9                       leave  
 804843d:    8d 61 fc                 lea    -0x4(%ecx),%esp
 8048440:    c3                       ret    

вопрос "почему" остался открытым...

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

94

drBatty пишет:

чё-то не тянет на умного - даёт ответ 0 или 2, а получается 1

...
printf("%d",i-- - --i);
...
0, показанный gcc. Объяснение этого результата - найдёте выше. Напомню - порядок вычислений в дереве подвыражений.
Пощупайте руками, и поделитесь впечатлениями.

Я - дурак официально, у меня и справка есть.
С печатями.
А ssd - такой же расходник, как и батарейка для ночного прицела.

95

tango пишет:

0, показанный gcc.

1 показанный gcc
$ gcc --version

 Консоль:
gcc (GCC) 4.5.2
Copyright (C) 2010 Free Software Foundation, Inc.
Это свободно распространяемое программное обеспечение. Условия копирования
приведены в исходных текстах. Без гарантии каких-либо качеств, включая
коммерческую ценность и применимость для каких-либо целей.


мне вам скриншот кинуть, если вы не в состоянии понять ассемблер?

tango пишет:

Объяснение этого результата - найдёте выше. Напомню - порядок вычислений в дереве подвыражений.

вы думаете я не умею строить такие деревья, и впервые их вижу? вы думаете, я вам дам задачку, которую любой студент решит? ну извините, я был о вас более высокого мнения...  ac

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

96

drBatty пишет:

вы думаете я не умею строить такие деревья, и впервые их вижу? вы думаете, я вам дам задачку, которую любой студент решит? ну извините, я был о вас более высокого мнения...

И не хочется вас огорчать, но есть основания думать именно так.
Извините, но в моей реальности gcc cгенеривовал программу, дающую 0 как результат вычисления приведённого вами выражения .
Мнение компилятора меня интересует гораздо больше, нежели ваше.
К слову сказать, сообщить вам название умной книжки, из которой вы сумеете научиться понимать то,  что вам пишут - не способен ac
Бодаться с чужими фантазиями - увольте, есть вещи гораздо поинтереснее.
Итого: не вижу смысла продолжать.

ЗЫ Попробуйте научиться хотя бы плевать на то, что о вас кто-то там думает. Это - чисто из жалости, искренней.

Я - дурак официально, у меня и справка есть.
С печатями.
А ssd - такой же расходник, как и батарейка для ночного прицела.

97

tango пишет:
drBatty пишет:

вы думаете я не умею строить такие деревья, и впервые их вижу? вы думаете, я вам дам задачку, которую любой студент решит? ну извините, я был о вас более высокого мнения...

И не хочется вас огорчать, но есть основания думать именно так.
Извините, но в моей реальности gcc cгенеривовал программу, дающую 0 как результат вычисления приведённого вами выражения .
Мнение компилятора меня интересует гораздо больше, нежели ваше.
К слову сказать, сообщить вам название умной книжки, из которой вы сумеете научиться понимать то,  что вам пишут - не способен ac
Бодаться с чужими фантазиями - увольте, есть вещи гораздо поинтереснее.
Итого: не вижу смысла продолжать.

ЗЫ Попробуйте научиться хотя бы плевать на то, что о вас кто-то там думает. Это - чисто из жалости, искренней.

враньё. код в студию, и пусть любой увидит.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

98

drBatty пишет:

враньё. код в студию, и пусть любой увидит.

Есть мнение, что вам - код не поможет.
Здесь, скорее, вам следует обратиться к тому человеку, что сделал для вас скрин на ассемблере,
с такой просьбой - "Посоветуйте, пожалуйста, книжку по Си!"
И читать вам её надо с желанием узнать, что добавить к
printf("%d",i-- - --i);
чтобы увидеть результат работы программы.
А то ж так и будет зона вечной туп^мерзлоты.
А на меня своё драгоценное время больше можете не тратить - мне не интересно!
И больше ответов - не будет.
Попробуйте это если не понять, то хотя бы запомнить.

Я - дурак официально, у меня и справка есть.
С печатями.
А ssd - такой же расходник, как и батарейка для ночного прицела.

99

вот и поговорили

ПатреГ не любит Gnome...