Например, может быть, у нас есть, если заявление, что хочет, чтобы проверить, является ли переменная равна 4 различных значений, возможно, что-то вродеОдно линия сравнения нескольких значений в C
if(x == 1,2,3,4){ do something }
что такое правильный синтаксис, чтобы сделать это в C? Я знаю, что запятая работает на каком-то другом языке, я не могу представить, как не иметь несколько разных проверок. Единственная вещь, которую я мог придумать это приходится делать
if((x == 1)||(x ==2)
, но я, несомненно, больше, чем 4, и это будет раздражать быстро. Я не видел никаких других подобных вопросов, если вы знаете об этом, укажите мне на это.
К сожалению, это, как работает C. Вы должны проверять каждую комбинацию отдельно. –
Дело в том, что C близко к оборудованию. Ваш CPU не может сравнивать одно значение с несколькими одновременно, это невозможно. На языках более высокого уровня, имеющих что-то вроде «если x находится в интервале [от 1 до n]», вы все равно получаете машинный код, похожий на 'if (x == item [0] || == item [1] ... Языки более высокого уровня скрывают эту неэффективность от программиста, в то время как C не пытается покрыть его сахаром. – Lundin
А, да, я продолжаю забывать об этом и о том, что я пытаюсь изучить. @Lundin – grobot