Closed. This question needs details or clarity. It is not currently accepting answers. Learn more。
想改进这个问题吗?添加细节并通过editing this post澄清问题。
11个月前关闭。
换句话说:
有没有可能以某种方式延迟某条指令,比如
像往常一样,您应该检查
Live demo
输出可以是(不是从ideone复制的)
18 42 02 00个
完成!
想改进这个问题吗?添加细节并通过editing this post澄清问题。
11个月前关闭。
换句话说:
有没有可能以某种方式延迟某条指令,比如
printf
,使它在执行的最后时刻执行? 最佳答案
我写了一个使用atexit
的例子:
#include <stdio.h>
#include <stdlib.h>
void foo(void) {
printf("\nDone!\n");
}
int main(void) {
atexit(foo);
for (;;) {
int tmp = rand() % 100; // unseeded
printf("%02d ", tmp);
if (!tmp) break;
}
return 0;
}
像往常一样,您应该检查
atexit()
的返回值以检查错误。还要注意,使用_Exit()
或异常进程终止(例如:除以零)终止程序不会调用atexit()
调用中指定的函数。Live demo
输出可以是(不是从ideone复制的)
18 42 02 00个
完成!
10-07 16:26