我正在阅读CSAPP,关于setjmp和的章节longjmp,并遇到以下代码片段:
int rc;
switch(setjmp(buf));
if (rc == 0)
foo();
else if (rc == 1)
printf("sth.");
else if (rc == 2)
printf("sth. other");
...
Run Code Online (Sandbox Code Playgroud)
switch语句让我很困惑,有人可以为我解释一下C中switch语句的用法吗?
PS:这实际上是CSAPP(第二版)的错误,作者通过switch-case在第三版中使用正常语句来解决这个问题.谢谢大家.