else if下的语句加{}有什么用?
加与不加有区别吗?
有时候不加,编译是提示:else未对齐?
加上就编译通过.WHY?
问题点数:0、回复次数:8Top
1 楼freefalcon(心宇—消失中...)回复于 2004-05-04 10:51:52 得分 0
那是因为你又多条语句,你需要加{}将其放到语句块中
如
else if()
{
a = 1;
b = 2;
}
和
else if()
a = 1;
b = 2; //这句不受else if控制
这二者完全不是一回事Top
2 楼ztwz(-_-b(偶要像海绵一样的狂吸水水!))回复于 2004-05-04 11:24:28 得分 0
不加括号if只管他后面的一句话其它的不是if语句里的~~Top
3 楼yiminggw(某某鸟人)回复于 2004-05-04 11:27:15 得分 0
同上Top
4 楼newegg2002(同志们,同胞们,大学的四年,是扎实基础的四年!!)回复于 2004-05-04 11:33:14 得分 0
那要看你else if后面有多少条语句了。。如果是一条,那你可以不加,,如果想在满足你所给条件之后。执行多条语句,那么你得用{}括起来,,作为一个语句块的,,,Top
5 楼chenqing1128(Alex)回复于 2004-05-04 14:12:38 得分 0
楼上的你们说的都很对,但是你们没有明白楼主的问题
他问的是:
有时候不加,编译是提示:else未对齐?
加上就编译通过.WHY?
这个问题我没遇到过
我认为+与不+都不应该编译出错。
当然+与不+是不一样的(在多语句的情况下)
就象楼上诸位说的那样。Top
6 楼julyclyde(Java初学(大学不教只好自己学))回复于 2004-05-04 15:52:42 得分 0
编译器提示是中文?怪Top
7 楼liem(阿明)回复于 2004-05-04 16:48:57 得分 0
else if(条件)是
else{
if(条件)
//}
的简写。
如果else if()后不加括号{},且用了多条语句,在后面再有else那么成了:
if()
{}
else if()
语句1//该结构到此为止。
语句2
else
//
如此一来,最后的else就没有if与它配对了。Top
8 楼antijpn(antijpn)回复于 2004-05-04 18:27:16 得分 0
else未对齐恐怕不是因为没有加括号吧?应该是因为你是用了类似下面的语句
if(1)
;
;
else;
这样会构成if和else的不匹配
你用的什么编译器?Top




