a=5;b=10;a----------------++++++++++++++++++b
# Output: 15
Вышеупомянутый результат скрипта python. Не могли бы вы объяснить, как это работает? Я был очень удивлен, что он работает и дает ответ!Python - Как оценивается следующее выражение?
Однако подобное такое выражение не работает в Java, C, C++ Например:
a=10;
b=5;
System.out.println(a---b);//error!!
cout<<a---b;//error
printf("%d\n",a---b);//error
ли это что-то делать с компилятором - лексического анализатора/синтаксического анализатора? Я понимаю, что «самый левый, нетерпеливый и жадный» подход используется компиляторами, но я точно не понимаю, как это работает в этом случае.
, но 'a --- b' работает, и он аналогичен также – SomeJavaGuy
В частности. Java, что бы означать «a-b»? Это означает «a -b»? 'a-- b'? 'a - -b'? Он предположит, что это один из первых двух случаев, и ни один из них не действителен. –
Какой из этих трех других лангаугов вы хотите получить? В C ответ «это синтаксическая ошибка». Или вы задаете вопрос Python? –