Я не знаю, как эти операторы работают вместе - PullRequest
0 голосов
/ 12 января 2020

У меня есть код из теста, и я не понимаю, почему результат равен 2.

#include <stdio.h>


int main() {
int a=0x000C, b;
b=(a=(a&~a)||a,a<<1);
printf("%x",b);

}

C = 12 и это 1100 в двоичном формате, а затем вы делаете 1100 & 0011 (отрицается a) = 0000 но я не понимаю, почему есть 2 "|" потому что эти 2 логических «или» или «или», которые вы используете в командах if?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...