Различия между & и && - C#
Формулировка задачи:
Здравствуйте! Застрял на теме логики,
в общем помогите разобраться в отличиях при решении задач между & и &&
Середину закоментил, смысл не в том что на 0 делить нельзя любое число если поставить вместо нуля, по Шилдту тут как раз разбирают разницу между этими элементами, но я не могу понять в чём именно? Если вверху поставим 0, тоже делиться не будет, а если 0 изменим на 1 или 5 то отработает нормально, просто в дальнейшем если буду использовать только && как это может пагубно сказаться?
Листинг программы
- using System;
- class SCops
- {
- static void Main() {
- int n, d;
- n = 10;
- d = 2;
- if (d != 0 && (n % d) == 0)
- Console.WriteLine(n + " делится нацело на " + d);
- d = 0; // задать нулевое значение переменной d
- // d равно нулю, поэтому второй операнд не вычисляется
- //if (d != 0 && (n % d) == 0)
- //Console.WriteLine(n + " делится нацело на " + d);
- // Если теперь попытаться сделать то же самое без укороченного
- // логического оператора, то возникнет ошибка из-за деления на нуль.
- if (d != 0 & (n % d) == 0)
- Console.WriteLine(n + " делится нацело на " + d);
- }
- }
Почему тогда здесь просто И :
Листинг программы
- using System;
- class IsOdd {
- static void Main() {
- ushort num;
- num = 10;
- if((num & 1) == 1)
- Console.WriteLine("He выводится.");
- num = 11;
- if((num & 1) == 1)
- Console.WriteLine(num + " — нечетное число.");
- }
- }
Решение задачи: «Различия между & и &&»
textual
Листинг программы
- if ((5 & 4) == 4)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д