2010-02-12 13 views
0

在C/C++语言循环语句中,我们使用exit(0)或exit(1)或其他值。这个值需要什么,当我们退出循环时,这个值在循环中的作用是什么,exit()中的1和0的含义是什么?为什么我们在c语言的循环中使用退出函数中的任何值

+0

不明白这里downvote。这是一个有效的问题。 – 2010-02-12 14:33:34

+1

可能是因为问题本身的文本是错误的陈述。 – 2010-02-12 15:33:41

+0

因为仇敌会讨厌。 – 2010-02-12 15:38:33

回答

0

冒着多余的风险,它是该过程的退出代码。通常,您可以定义一系列值来指示不同程度的成功或失败。传统上,0表示成功,1表示失败(或者非零)。然后,调用你的程序或函数可以检查该值(如果它倾向于),并从中收集一些关于你的过程是否成功的想法。

例如,你可以有一个程序,复制从位置A到B的文件如果无法复制的文件,因为位置B是写保护,你可以返回-1,并利用任何其他程序作为其过程中的一个步骤现在知道你失败了,而期望位置B的文件完整且可访问是一个不好的主意。

0

如果你使用exit()函数,你并不关心你是否在循环中。它将退出程序并返回给定的整数作为返回值。

在C/C++中没有循环返回值或类似的东西。

+1

可以在这里解释downvote吗? – Patrick 2010-02-12 14:48:50

0

该值仅在外部程序要使用它来确定程序是否成功运行时才起作用。通常,成功运行的程序返回0或更大,如果失败则返回-1。

4

您不使用exit()来退出循环。退出将退出您的整个程序。

您提供给退出功能的号码将是您程序的退出代码。

通常退出值为0表示程序成功完成。

非零值通常是对程序中的错误标识符,用于指示

  1. 程序无法
  2. 数量通常表示失败的原因
0

对于歇斯底里。 ..对不起,历史......原因。回到Unix时代,仍然在Linux,Windows等等,你的程序不仅仅是单独运行 - 它从某个地方被调用(另一个程序,shell(bash等,dos提示符等)他们可能会想知道,如果它成功与否......

1

嗯......不,你有这样的严重错误。

在CISH,exit终止整个程序。如果你只是想停止循环,使用break。如果要停止当前的循环迭代,并继续到下一个,你用continue

提供给exit的值将作为整个程序的退出值返回(例如,您已将return修改为main的值)。操作系统对该值的操作取决于操作系统。它的含义也或多或少取决于你,虽然有些操作系统将除0之外的任何内容定义为各种实用程序的错误。

0

您可能会困惑return(x)exit(x)return将信息发送回调用函数,exit关闭整个过程,为启动过程的环境提供退出状态(如果有的话)。 从C函数返回的值通常是错误值,但它们的含义取决于进程的语义; exit的含义取决于环境的语义。

想象它像一艘船; return就像是一个给直接主管的信息,并且可能表明为什么今天无法清理甲板,以及项目为什么被放弃; exit是一条瓶装信息,用来描述船舶沉没的原因和方式。

1

终止语言循环热门语句是:breakcontinuegotoreturnthrowexit。还有其他可以退出循环的功能,但你可以自己研究它们。

break语句退出最近的循环。执行循环结束后继续执行。

continue语句导致执行从循环的顶部开始。 continue之后的声明将不会执行。这可能会或可能不会退出一个循环,这取决于你的学生。

goto语句可用于退出循环。在环路外放置标签并使用goto

return语句将退出该功能。如果功能是main,它将终止程序。

throw语句将退出循环和当前函数。执行从最近的catch声明恢复,或者如果没有找到相关的catch声明,则终止程序。

exit函数将退出循环并终止程序。程序结束后,传递给exit的值将传递给操作系统。有些操作系统允许在脚本中使用程序的返回值。 exit的值0和1取决于操作系统;有些使用0表示成功终止。其他值可能会导致终止的原因。

其他方法退出循环,部分取决于实现的未定义行为

  1. 手托循环的终止条件 。
  2. 除以零。
  3. 取消引用空指针。
  4. 负数的平方根。
  5. 计算没有终止NUL字符的C字符串 的长度。

如果你澄清你的问题,你会得到更好的答案。

相关问题