休息和退出有什么区别?

时间:2010-03-23 10:50:49

标签: c++ c

即使我多次使用break()和exit()语句,我之间也有点混淆。当我们应该使用它们时,我需要知道两者的确切含义。请用小例解释。 谢谢。

3 个答案:

答案 0 :(得分:20)

break退出 当前构造的关键字,如循环。 exit是一个non-returning函数,它将控件返回给操作系统。例如:

// some code (1)
while(true)
{
   ...
   if(something)
     break;
}
// some code (2)

在上面的代码中,break退出当前循环,即while循环。即一些代码(2)应在断开循环后执行。

退出时,它完全退出程序:

// some code (1)
while(true)
{
   ...
   if(something)
     exit(0);
}
// some code (2)

你会离开这个计划。即在exit().

的情况下未达到某些代码(2)

答案 1 :(得分:8)

break是该语言的控制流语句。它表示要执行的下一个语句是循环结束时(或switch语句末尾)的语句

 while (...) {  /* same for "do {} while" or "for" */ 
   ... 
   break;  -----+    
   ...          |  
 }              |
 ....       <---+  JUMP HERE!



 switch (...) {
   ... 
   break;  -----+    
   ...          |  
 }              |
 ....       <---+  JUMP HERE!
相反,

exit()是一个函数,表示程序必须结束并且必须将控制权交还给操作系统。根据操作系统的不同,在退出时,有许多事情会在幕后发生,以清理和释放所使用的资源。您还可以使用atexit()函数(在C99中)定义要在退出之前调用的函数。

答案 2 :(得分:2)

  

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,它将退出   程序,它不会打印字符串。