我想知道如何以及何时可以exit()像我书中的程序一样使用函数:
#include<stdio.h>
void main()
{
int goals;
printf("enter number of goals scored");
scanf("%d",&goals);
if(goals<=5)
goto sos;
else
{
printf("hehe");
exit( );
}
sos:
printf("to err is human");
}
Run Code Online (Sandbox Code Playgroud)
当我运行它时,它显示ERROR:调用未定义的函数exit().
另外,我想知道如何创建一个选项来关闭程序运行的窗口?例如,我制作了一个菜单驱动的程序,它有几个选项,其中一个是"退出菜单".如何退出程序(即关闭窗口)?
Tyl*_*nry 80
该exit函数在stdlib头中声明,因此您需要
#include <stdlib.h>
Run Code Online (Sandbox Code Playgroud)
在您的程序的顶部能够使用exit.
另请注意,exit它采用整数参数,因此您无法调用它exit(),您必须调用exit(0)或exit(42).0通常表示您的程序成功完成,非零值用作错误代码.
也有预定义的宏EXIT_SUCCESS和EXIT_FAILURE,如exit(EXIT_SUCCESS);
Mor*_*dur 11
exit(int code);声明,stdlib.h所以你需要一个
#include <stdlib.h>
Run Code Online (Sandbox Code Playgroud)
另外:
- 你没有参数exit(),它需要int提供一个参数.
- 烧掉这本书,它使用的goto是(除了Linux内核黑客之外的所有人)坏,非常,非常非常糟糕.
编辑:
哦,和
void main()
Run Code Online (Sandbox Code Playgroud)
也很糟糕,它是:
int main(int argc, char *argv[])
Run Code Online (Sandbox Code Playgroud)
Ber*_*ron 11
试着退出.
哦,并且:
#include <stdlib.h>
int main(void) {
/* ... */
if (error_occured) {
return (EXIT_FAILURE);
}
/* ... */
return (EXIT_SUCCESS);
}
Run Code Online (Sandbox Code Playgroud)
小智 7
该exit()函数是一种函数,其返回类型没有参数.它由stdlib头文件定义.
你需要使用( exit(0) or exit(EXIT_SUCCESS))或 (exit(non-zero)或exit(EXIT_FAILURE) ).