Вы можете вырваться из инструкции if или вызвать сбои? Я начинаю знакомиться с C, но это кажется спорным. Первое изображение из книги на C ( "Head First C" ), а фрагмент показывает код, написанный персоналом Harvard CS. Что на самом деле происходит и что-то связано со стандартами C?
перерывы не разрывают операторы if.
15 января 1990 года AT & T междугородняя телефонная система потерпела крах, и 60 000 человек потеряли свое телефонное обслуживание. Причина? Разработчик, работающий над кодом C, используемым на биржах, попытался использовать
break
для выхода из инструкцииif
. Ноbreak
не выходят изif
s. Вместо этого программа пропустила весь раздел кода и представила ошибку, которая прерывала 70 миллионов телефонных звонков в течение девяти часов.
for (size = 0; size < HAY_MAX; size++)
{
// wait for hay until EOF
printf("\nhaystack[%d] = ", size);
int straw = GetInt();
if (straw == INT_MAX)
break;
// add hay to stack
haystack[size] = straw;
}
printf("\n");