1.先给源码吧
int main()
{
int i;
//while(1)
{
printf("i = ");
scanf("%d", &i);
switch(i)
{
case 1:
printf("\n i = 1");
break;
case 2:
printf("\n i = 2\n");
return 0;
break;
default:
break;
}
printf("\nonly break will see this message!!!\n");
return 0;
}
}
2.编译调试环境:gcc+gdb
3.突然就想到了,如果switch中用了return 语句会怎样呢。通过gdb调试发现如果是return 直接到最后一个},如果是break,是到switch的},也就是说,如果用了return 那么switch下面的语句将不会执行。想想其实挺简单的吧。只是突然一下子脑袋卡壳了。我看到网上也有人问这个问题。所以就写下来了。大虾不要见笑。希望可以帮助突然迷惑的码友。。。