string c1 = "00011001"; // вот такая строка к примеру
c1[7] - '0' == ?
//и
c1[7] - '1' == ?
//и
c1[7] - 2 == ? // здесь 2 не как символ
Подскажите, пожалуйста, что получится в каждом варианте и почему.
Спецификации языков С и С++ не специфицируют конкретных значений для символьных литералов, но однако гарантируют, что символьные литералы '0'
, '1'
, '2'
, ..., '9'
имеют последовательные целочисленные значения (именно в таком порядке). Поэтому, например, значение выражения '5' - '0'
гарантированно равно 5
.
В вашем случае c1[7]
равно '1'
и по этой причине
c1[7] - '0' == 1
c1[7] - '1' == 0
Чему именно равно c1[7] - 2
сказать невозможно, ибо, как сказано выше, никаких конкретных значений для этих констант спецификация языка не оговаривает. Это зависит от конкретной платформы. Можно лишь сказать, что c1[7] - 2
равно '0' - 1
. (Придушенный голос из зала - "Сорок семь" - вызывает лишь снисходительную ухмылку с моей стороны.)
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Делаю на Wordpress форму с возможностью добавления нескольких фалов путём создание нескольких заранее определённых инпутов:
Я написала таблицу JS+HTML Но у меня возникла проблема с добавлением строкиВо время добавления строки дублируется значение первой строки
Есть 2 Get запроса, чтобы фильтровать товар ( смотрите картинку)