Вопросы с тегом 'operator-precedence'

Приоритет оператора - это правила, определяющие порядок, в котором операторы оцениваются в выражении или операторе на языке программирования. Отличается от [порядка выполнения], который охватывает последовательность событий выполнения в программной системе.
15

Почему эти конструкции используют неопределенное поведение до и после приращения?

#include <stdio.h> int main(void) { int i = 0; i = i++ + ++i; printf("%d\n", i); // 3 i = 1; i = (i++); printf("%d\n", i); // 2 Should be 1, no ? volatile int u = 0; u = u++ + ++u; printf("%d\n", u); // 1 u = 1...
04 июн. '09 в 9:17
17

Почему x == (x = y) не совпадает с (x = y) == x?

Рассмотрим следующий пример: class Quirky { public static void main(String[] args) { int x = 1; int y = 3; System.out.println(x == (x = y)); // false x = 1; // reset System.out.println((x = y) == x); // t...
12 дек. '18 в 19:11
1

Почему (1 в [1,0] == Истина) оценивается в False?

Когда я смотрел ответы на этот вопрос, я обнаружил, что не понял свой собственный ответ. Я действительно не понимаю, как это разбирается. Почему второй пример возвращает False? >>> 1 in [1,0] # This is expected True >>>...
14 февр. '12 в 21:21
4

Приоритет оператора SQL Logic: и и

Являются ли эти два утверждения ниже эквивалентными? SELECT [...] FROM [...] WHERE some_col in (1,2,3,4,5) AND some_other_expr и SELECT [...] FROM [...] WHERE some_col in (1,2,3) or some_col in (4,5) AND some_other_expr Есть ли какая-то таблица...
06 авг. '09 в 20:15
6

Почему в Python 0, 0 == (0, 0) равно (0, False)

В Python (я проверил только с Python 3.6, но я считаю, что он должен сохраняться и для многих предыдущих версий): (0, 0) == 0, 0 # results in a two element tuple: (False, 0) 0, 0 == (0, 0) # results in a two element tuple: (0, False) (0, 0) == (...
01 июл. '17 в 18:29
7

Приоритет оператора с помощью оператора Javascript Ternary

Кажется, я склоняюсь вокруг первой части этого кода (+ =) в сочетании с тернарным оператором. h.className += h.className ? ' error' : 'error' Как я думаю, этот код работает следующим образом: h.className = h.className + h.className ? ' error' : '...
24 нояб. '09 в 9:27
5

Почему тройной оператор с запятой оценивает только одно выражение в истинном случае?

В настоящее время я изучаю С++ с книгой С++ Primer, и одно из упражнений в книге: Объясните, что делает следующее выражение: someValue ? ++x, ++y : --x, --y Что мы знаем? Мы знаем, что тернарный оператор имеет более высокий приоритет, чем операто...
28 нояб. '17 в 18:52
7

Выполнение порядка операторов в С++

Предположим, что у меня есть несколько операторов, которые я хочу выполнить в фиксированный порядок. Я хочу использовать g++ с уровнем оптимизации 2, поэтому некоторые заявления могут быть переупорядочены. Какие инструменты нужно выполнять для упоряд...
13 июн. '16 в 9:47
1

Операции прецедента и битмаски

Я столкнулся с (по-видимому) очень странным случаем. Возьмите номер 2 (0b10) и порисуйте его 1 (0b01) Это должно произвести 0b00, что эквивалентно 0. Однако здесь, где приходит г-н Шредингер: var_dump(0b10 & 0b01); // int(0) var_dump(0b10 &a...
23 февр. '14 в 22:10
7

Каковы правила для порядка оценки в Java?

Я читаю текст Java и получаю следующий код: int[] a = {4,4}; int b = 1; a[b] = b = 0; В тексте автор не дал ясного объяснения, а эффект последней строки: a[1] = 0; Я не уверен, что понимаю: как прошла оценка?
23 июл. '11 в 13:11
4

Различное поведение оператора запятой в С++ с возвратом?

Это (обратите внимание на оператор запятой): #include <iostream> int main() { int x; x = 2, 3; std::cout << x << "\n"; return 0; } выводит 2. Однако, если вы используете return с оператором запятой, это: #in...
07 сент. '16 в 7:56
13

Почему $a + ++ $a == 2?

Если я попробую это: $a = 0; echo $a + ++$a, PHP_EOL; echo $a; Я получаю этот вывод: 2 1 Демо: http://codepad.org/ncVuJtJu Почему это? Я ожидаю получить это как результат: 1 1 Мое понимание: $a = 0; // a === 0 ...
14 мар. '12 в 20:31
6

С# условное И (&&) ИЛИ (||) приоритет

Мы постоянно вводим ненужные аргументы кодирования в мою работу. Сегодня я спросил, имеет ли условный И (&) или OR (||) более высокий приоритет. Один из моих коллег настаивал на том, что у них одинаковый приоритет, у меня были сомнения, поэтому я...
28 июл. '09 в 21:00
3

Каковы гарантии порядка оценки, введенные С++ 17?

Каковы последствия использования утвержденного порядка C++ 17 порядка оценки (P0145) для типичного кода C++? Что это меняет в таких вещах, как i=1; f(i++, i) а также std::cout << f() << f() << f() ; или же f(g(),h(),j());
21 июл. '16 в 10:21
6

Странная проблема работы в SQL Server (-100 / -100 * 10 = 0)

Если вы выполните SELECT -100 / -100*10 результат будет 0. Если вы выполните SELECT (-100 / -100)*10 результатом будет 10. Если вы выполните SELECT -100/(-100*10) результат будет 0. Если вы выполните SELECT 100/100*10 результат будет 10. BOL заяв...
04 февр. '19 в 9:43