c++菜鸟问题 看看最后还用加break吗?

最后那个它调了一个函数 那还用加break吗?
还有一个return了 是不是也不用加了?
什么时候才加啊?

void panduan()
{
cout << "按\"r\"键重新计算,按\"q\"键退出"<< endl;
//------------------------------------------------
//采集用户输入的信息
char t;
cin >> t;
//------------------------------------------------
//判断
switch(t)
{
case 'r':
{
date();
break;
}
case 'q':
{
return;//这个后面还加break吗?
}
default:
cout << "输入错误!" <<endl;
panduan();
break;//这个还用加上吗?
}
}

不用加了,因为运行return语句,函数直接返回了,后面的都不再执行,所以不需要加break了。default后面的那个也不用加了,因为default是都不满足时执行的,如果进入default说明前面的case都不满足,也没有后续的语句了。所以不用加了。
switch()
{
case:
case:
...
default:
}
语句执行时,一项一项依次判断,如果符合就执行此case后面的所有语句,和
if
else if
else if
else..
语句不同的是switch语句判断符合后,不管后面的case是否符合,其语句都执行,并不会执行一条符合的case语句而跳出.所以在switch的case语句最后都加一个break跳出本次判断。例如:
switch(2)
{
case 1:printf("1\n");
case 2:printf("2\n");
case 3:printf("3\n");
default:printf("d\n");
}
打印的是
2
3
d

switch(2)
{
case 1:printf("1\n");break;
case 2:printf("2\n");break;
case 3:printf("3\n");break;
default:printf("d\n");break;
}
打印的是
2
区别就这些。
需要说明的是:为了程序的可读性和统一格式,最好每一个case后面都加上break,这样程序才比较格式统一,可读性好。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-06-17
case XXX:
{
}break;
这是一种良好的套路。如果case里面的内容改动了,比如像上面去掉return,但是忘了补上break,就会出问题。
相似回答