int GetResult(int a){ int b = 0; __try{ if ( a != 0 ){ b++; } return b; } __finally{ --b; } return b; }
-1
0
1
2
finally之前的return会压入栈中,finally中的语句一定会执行,如果finally中有return语句则直接返回,finally之后的语句就不会执行。所以返回的是第一个return b = 1
finally 会执行,但是后面的 return 不会执行
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题