# Все вопросы: [operator-precedence]

34 вопросов

5ответов
2498 просмотров

### How do we explain the result of the expression (++x)+(++x)+(++x)?

x = 1; std::cout &lt;&lt; ((++x)+(++x)+(++x)); I expect the output to be 11, but it's actually 12. Why?

4ответов
542 просмотров

### Where is the bug in this Console.WriteLine statement?

If you run the following code you get the output: The answer is: class Program { static void Main(string[] args) { HtmlElement element = new HtmlElement(); element.InnerHtml = "&lt;br&gt;"; string val = element.InnerHtml != null ? element.InnerHtml : ele...

2ответов
4285 просмотров

### Python String Formatting And String Multiplication Oddity

Python is doing string multiplication where I would expect it to do numeric multiplication, and I don't know why. &gt;&gt;&gt; print('%d' % 2 * 4) 2222 &gt;&gt;&gt; print('%d' % (2 * 4)) 8 Even forcing the type to integer does nothing. (I realize this is redundant, but it's an idiot-check for ...

6ответов
3489 просмотров

### int[] arr={0}; int value = arr[arr[0]++]; Value = 1?

Today I came a cross an article by Eric Lippert where he was trying to clear the myth between the operators precedence and the order of evaluation. At the end there were two code snippets that got me confused, here is the first snippet: int[] arr = {0}; int value = arr[arr[0]++]; No...

4ответов
145423 просмотров

### SQL Logic Operator Precedence: And and Or

Are the two statements below equivalent? SELECT [...] FROM [...] WHERE some_col in (1,2,3,4,5) AND some_other_expr and SELECT [...] FROM [...] WHERE some_col in (1,2,3) or some_col in (4,5) AND some_other_expr Is there some sort of truth table I could use to verify this?

6ответов
51197 просмотров

### C# conditional AND (&amp;&amp;) OR (||) precedence

We get into unnecessary coding arguments at my work all-the-time. Today I asked if conditional AND (&amp;&amp;) or OR (||) had higher precedence. One of my coworkers insisted that they had the same precedence, I had doubts, so I looked it up. According to MSDN AND (&amp;&amp;) has higher preced...

5ответов
212 просмотров

### So maybe I'm not getting the idea in Ruby but I have a question about Enumerables inject

The |m,k| thing kind of throws me off. Does this have anything to do with order of precedence? m standing for 0 (or 1 in some languages) and k for the last in the Array/Hash whatever? So why do people put a number in .inject()? Alternatively, is there an easy way to learn how to use this, and e...

3ответов
9136 просмотров

### What good are right-associative methods in Scala?

I've just started playing around with Scala, and I just learned about how methods can be made right-associative (as opposed to the more traditional left-associativity common in imperative object-oriented languages). At first, when I saw example code to cons a list in Scala, I had noticed that ev...

2ответов
2969 просмотров

### разыменование и предварительный указатель в одном заявлении?

Я читаю из массива байтов следующим образом: int* i = (int*)p; id = *i; i++; поправьте меня, если я ошибаюсь, но ++ имеет приоритет над *, поэтому можно ли объединить * i и i ++ в одном выражении? (например, * i ++) (это технически небезопасный C #, а не C ++, p - байт *)

4ответов
1393 просмотров

### Как мне составить ленивый список на нетерпеливом языке?

Я хотел составить ленивый список в Scheme. Это то, что у меня есть. ;; Constructor for Pairs (define (cons-stream a b) (cons a (λ() b))) ;; Selectors (define (car-stream a-stream) (car a-stream)) (define (cdr-stream a-stream) ((cdr a-stream))) ;; Lazy List using the pairs (define (la...

14ответов
76855 просмотров

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

#include &lt;stdio.h&gt; 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; u = (u++); printf("%d\n", u); // 2 Sho...

5ответов
558 просмотров

### Почему «**» связывает сильнее, чем отрицание?

Меня только что укусил следующий сценарий: &gt;&gt;&gt; -1 ** 2 -1 Теперь, покопавшись в документации Python, становится ясно, что это предназначено поведение , но почему? Я не работаю ни с какими другими языками, имеющими силу в качестве встроенного оператора, но отсутствие максимальн...

13ответов
40498 просмотров

### Постинкремент разыменованного указателя?

Пытаясь понять поведение указателей в C, я был немного удивлен следующим (пример кода ниже): #include &lt;stdio.h&gt; void add_one_v1(int *our_var_ptr) { *our_var_ptr = *our_var_ptr +1; } void add_one_v2(int *our_var_ptr) { *our_var_ptr++; } int main() { int testvar; testv...

7ответов
19784 просмотров

### Оператор ИЛИ в C #

Могу ли я достичь if (a == "b" || "c") вместо if (a == "b" || a== "c") ?

8ответов
1118 просмотров

### Понимание оценки выражений, содержащих операторы '++' и '-&gt;' в C

Рассмотрим этот пример: struct { int num; } s, *ps; s.num = 0; ps = &amp;s; ++ps-&gt;num; printf("%d", s.num); /* Prints 1 */ Он печатает 1. Итак, я понимаю, что это потому, что в соответствии с приоритетом операторов -&gt; выше, чем ++, поэтому сначала выбирается значение ps-&gt;n...

2ответов
9596 просмотров

### Где законно использовать оператор ruby ​​splat?

Знаки отличные. Они предназначены не только для взрыва массивов, хотя это весело. Их также можно преобразовать в массивы и сгладить массивы (см. http://github.com/mischa/splat/ tree / master , чтобы получить исчерпывающий список того, что они делают.) Похоже, что нельзя выполнять дополнитель...

1ответов
2372 просмотров

### Приоритет операторов Пролога и соответствие правилам

В мой интерпретатор пролога загружены следующие два факта: foo(U+V,1). foo(U*V,2). Теперь я пробую следующие запросы с такими результатами: foo(x*x+x,R). --&gt; R = 1 foo(x+x*x,R). --&gt; R = 1 foo(x*x*x,R). --&gt; R = 2 Теперь я пытаюсь выполнить следующий запрос: foo(x*x...

3ответов
379 просмотров

### Имеет ли значение приоритет оператора для &amp;&amp; и == в javascript?

Более конкретно, существует ли набор значений (a, b и c), для которых приоритет оператора имеет значение в операторе: var value = (a &amp;&amp; b == c); (за исключением NaN).

2ответов
533 просмотров

### Каков порядок операций с этой конкатенацией?

x = "hello" " world".to_sym puts x.class Это работает и позволяет мне объединить две строки в символ и получить результат: Symbol Но если я немного изменю его, чтобы использовать + вместо пробела, разделяющего строки приветствия и мира, я получаю сообщение об ошибке: x = "hello" + ...

7ответов
33378 просмотров

### Обязательны ли закорачивающие логические операторы? А порядок оценки?

Обязан ли стандарт ANSI замкнуть логические операторы в C или C ++? Я смущен, потому что я помню книгу K&amp;R, в которой говорилось, что ваш код не должен зависеть от короткого замыкания этих операций, поскольку они могут не зависеть. Может ли кто-нибудь указать, где в стандарте говорится,...

6ответов
21581 просмотров

### Компиляторы и порядок вычисления аргументов в C ++

Хорошо, я знаю, что стандарт диктует, что реализация C ++ может выбирать, в каком порядке оцениваются аргументы функции, но есть ли какие-либо реализации, которые фактически используют это в сценарии, когда это действительно повлияет программа? Классический пример: int i = 0; foo(i++, i++)...

5ответов
534 просмотров

### Порядок приоритета с методами?

Допустим, у меня есть 2 метода. Один из них - это метод, запускаемый при изменении выбранного индекса в списке. Второй метод помогает очистить все текстовые поля, установить для индекса списка значение -1 и установить фокус. Вопрос: Выполняется второй метод, во время выполнения кода он мен...

10ответов
3414 просмотров

### Как заключить выражение в скобки?

У меня есть идея сделать простую программу, которая поможет мне с приоритетом операторов в таких языках, как C. Самая сложная часть этого - заключить выражение в скобки. Например, я хочу это: *a.x++ = *b.x++ Преобразовано в это: ((*(((a).(x))++)) = (*(((b).(x))++))) Что я сделал вр...

7ответов
904 просмотров

### Макросы C #define

Вот что у меня есть, и мне интересно, как это работает и что на самом деле делает. #define NUM 5 #define FTIMES(x)(x*5) int main(void) { int j = 1; printf("%d %d\n", FTIMES(j+5), FTIMES((j+5))); } Он дает два целых числа: 26 и 30. Как это сделать?

6ответов
3568 просмотров

### Почему 1 +++ 2 = 3?

Как Python оценивает выражение 1+++2? Сколько раз + я вставил между ними, в качестве ответа он выводит 3. Кто-нибудь может объяснить это поведение Для 1--2 он печатает 3, а для 1---2 - -1

18ответов
1040 просмотров

### Следует ли досконально знать приоритет оператора?

Следует ли программисту тщательно осознавать приоритет операторов? Можно использовать фигурные скобки для группировки выражений, не так ли? Я всегда использую подтяжки, чтобы быть в безопасности. И когда мне задают вопрос о приоритете, я не могу сразу ответить.

5ответов
12979 просмотров

### Как выполнить внешние соединения таблиц "многие-ко многим"?

У меня есть 3 таблицы: foo, foo2bar и bar. foo2bar - это отображение многих ко многим между foo и bar. Вот содержание. select * from foo +------+ | fid | +------+ | 1 | | 2 | | 3 | | 4 | +------+ select * from foo2bar +------+------+ | fid | bid | +------+------+ | 1 | 1...

3ответов
991 просмотров

### Запрос приоритета SQL

У меня есть таблица журналов с тремя столбцами. Один столбец является уникальным идентификатором, один столбец называется «Имя», а другой - «Статус». Значения в столбце «Имя» могут повторяться, поэтому вы можете видеть имя «Джо» в нескольких строках. Имя «Джо» может иметь строку со статусом «от...

1ответов
5629 просмотров

### Логическое выражение - порядок операций

У меня есть тест в Excel VBA: Если (test1) And (test2) And (test3) Тогда 'сделай что-нибудь Конец, если В C, Java и т. д. сначала запускается test1, затем test2, затем test3. Критично, если test1 ложно, весь тест ложен, поэтому остальные тесты не запускаются. Это происходит в этом с...

9ответов
3085 просмотров

### я = ++ я + ++ я; в C ++

Может кто-нибудь объяснить мне, почему этот код печатает 14? Меня просто спросил другой студент, и я не мог понять. int i = 5; i = ++i + ++i; cout&lt;&lt;i;