请教一个关于atexit( )函数的问题。
#include <stdio.h>#include <stdlib.h>
void sign_off(void);
void too_bad(void);
int main(void)
{
int n;
atexit(sign_off);
puts("Enter an integer:");
if(scanf("%d",&n)!=1)
{
puts("That's no integer!");
atexit(too_bad);
exit(EXIT_FAILURE);
}
printf("%d is %s.\n",n,(n%2==0)?"even":"odd");
system("pause");
return 0;
}
void sign_off(void)
{
puts("Thus terminates another magnificent program from");
puts("SeeSaw Software!");
}
void too_bad(void)
{
puts("SeeSaw software extends its heartfelt condolences");
puts("to you upon the failure of your program.");
}
在IDE 中运行该程序时,可能看不到最后2行输出。
运行结果:
Enter an integer:
212
212 is even
Thus terminates another magnificent program from
SeeSaw Software!
我想请问一下,这里的“IDE”指的是什么意思呀!而我的就是看不到最后2行输出。
----------------解决方案--------------------------------------------------------
额……这个不好办啊……你在CodeBlock里面编译运行,然后在显示“任意键继续”的时候随便按个键就可以看见了……
----------------解决方案--------------------------------------------------------
我用的编译器是:DEV C++
你所说的“CodeBlock”是什么意思?
----------------解决方案--------------------------------------------------------
那……这样,你在两个函数的后面都加上system("pause");,然后去掉主函数的system("pause");就可以看见结果了。
----------------解决方案--------------------------------------------------------
好的,非常感谢!
----------------解决方案--------------------------------------------------------