Для правильного вопроса надо знать половину ответа
Потому что i++ == 0, что приводится к false. Значит второй член конъюнкции (++j) вычислять смысла нет, результат от него не зависит. Первый член дизъюнкции false, значит вычисляем второй (k == 0). Он тоже false, поэтому вычисляем третий (l++) и берём его значение как результат выражения.
В общем, конъюнкция (&&) вычисляется до первого встреченного false, дизъюнкция (||) - до первого встреченного true.
Для правильного вопроса надо знать половину ответа
Потому что в функции printf вообще нет приведения типов.
Она просто берёт переданные данные и трактует их согласно спецификации формата.
То есть, в вашем случае выполняется не (float)i, а *((float *)&i).
If any argument after default argument promotions is not the type expected by the corresponding conversion specifier, or if there are fewer arguments than required by format, the behavior is undefined.
Для правильного вопроса надо знать половину ответа
Треугольник лежит на пересечении кругов" означает, что все точки треугольника принадлежат пересечению кругов, то есть одновременно принадлежат обоим кругам.
Поскольку пересечение кругов выпуклая фигура, а стороны треугольника - отрезки прямых, то достаточно убедиться, что все три вершины одновременно принадлежат обоим кругам.
Для правильного вопроса надо знать половину ответа
Целочисленное переполнение. У вас int имеет размер 32 бита, а 517 = 762939453125 > 239. Используйте 64-битовый тип данных, тогда сможете досчитать до 527.
Для правильного вопроса надо знать половину ответа
Клиент шлёт широковещательный (SO_BROADCAST) пакет "Сервер, ау!" на broadcast-адрес сети.
Сервер, получив такой запрос шлёт непосредственно клиенту пакет "Аюшки?"
Клиент, получив такой ответ от сервера запоминает адрес отправителя.
Если ответили несколько серверов, то клиент выбирает понравившийся.
Для правильного вопроса надо знать половину ответа
Вы используете SOCK_STREAM, который предназначен для TCP и требует предварительной установки соединения (listen/connect).
UDP работает через датаграммы, SOCK_DGRAM.
Для правильного вопроса надо знать половину ответа
Базовые сложение, вычитание и сравнение реализуются стандартно для длинной целочисленной арифметики.
Далее, следует учесть, что
(A + B) mod P = ((A mod P) + (B mod P)) mod P
(A * B) mod P = ((A mod P) * (B mod P)) mod P
Тогда, реализовав умножение через операции сдвига (умножения на два) и сложения, можно получить результат, используя буфер всего на один бит (в реальной программе - на байт или слово) больше, чем длина P.
Для правильного вопроса надо знать половину ответа
В такой записи у вас K == 0.
И, если вы даже выведете этот ноль, то ни абсолютная, ни относительная погрешности не превысят 109.
Абсолютная: |0 - 0.1(6)| = 0.1(6) < 1000000000
Относительная: |0 - 0.1(6)|/0.1(6) = 1 < 1000000000