以下代码最终打印“5”
#include <iostream>
#include <setjmp.h>
static jmp_buf buf;
float funcB()
{
setjmp(buf);
return 1.6f;
}
int funcA()
{
longjmp(buf,5);
std::cout<<"b";
return 2;
}
int main()
{
funcB();
std::cout<<funcA();
}
但这没有任何意义,因为 setjmp 返回 5,而不是任何一个函数......别担心,我没有在任何地方使用这段代码,我只是好奇!