Даже я использовал повреждение () и выход () операторы много раз, я - бит, перепутанный между ними. Я должен знать точное значение обоих, когда мы должны использовать их. Объясните с небольшим примером.Спасибо.
break
- это ключевое слово, которое завершает конструкцию current, подобную циклам. exit
- это невозвратная
функция, которая возвращает управление операционной системе. Например:
// some code (1)
while(true)
{
...
if(something)
break;
}
// some code (2)
В приведенном выше коде break выходит из текущего цикла, который является циклом while. Т.е. после выхода из цикла будет выполнен некоторый код (2).
Для exit - это просто полный выход из программы:
// some code (1)
while(true)
{
...
if(something)
exit(0);
}
// some code (2)
Вы бы вышли из программы. т.е. некоторый код (2) не достигается в случае exit().
break
- это оператор потока управления языка. В нем говорится, что следующий оператор, который должен быть выполнен, - это оператор в конце цикла (или в конце оператора switch
)
while (...) { /* same for "do {} while" or "for" */
...
break; -----+
... |
} |
.... <---+ JUMP HERE!
switch (...) {
...
break; -----+
... |
} |
.... <---+ JUMP HERE!
exit ()
, вместо этого, это функция, которая говорит что программа должна быть завершена и управление должно быть возвращено операционной системе. В зависимости от операционной системы при выходе за кулисами происходит много вещей, которые очищают и высвобождают используемые ресурсы. Вы также можете использовать функцию atexit ()
(в C99), чтобы определить функцию, которая будет вызываться перед выходом.
break используется для выхода из цикла.
exit используется для выхода из программы.
#include<stdio.h>
#include<stdlib.h>
main()
{
int d;
while(1)
{
scanf("%d",&d);
if(d==1)
{
break;
}
else if(d==4)
{
exit(0);
}
}
printf("WELCOME YOU MATCH BREAK\n");
}
Если вы нажмете кнопку 1, произойдет выход из цикла. Но не из программы. Поэтому в этот момент будет выведена строка.
Если вы нажмете 4, он выйдет из цикла. из программы и не выведет строку.