问个关于else语句的问题。。。。。。
在c语言中 else总是和之前与最近的且不带else的if语句配对
大家看看这段代码
main()
{
int a=3,b=-8,c=5;
if(a<b)
if(b<0) c+=10;
else c+=20;
printf("%d",c);
}
输出的结果是c=25
和c语言中的规定不符啊
[解决办法]
main() { int a=3,b=-8,c=5; if(a<b) { if(b<0) { c+=10; } else { c+=20; } } printf("%d",c); }
[解决办法]
if(a<b)就不符合
直接调到
c+=20了
[解决办法]
[code=C/C++]
main()
{
int a=3,b=-8,c=5;
if(a <b)
{
if(b <0) c+=10;
}
else
{
c+=20;
}
printf( "%d ",c);
}
好看多了吧 初学者把代码写规范一点
[/code]
[解决办法]
中间的if被忽略掉了
[解决办法]
int a=3,b=-8,c=5; if(a<b) { if(b<0) { c+=10; } } else { c+=20; } printf("%d",c);//这样输出结果是25 不知道是不是你要的
[解决办法]
你那是什么编译器?答案很明显是5
[解决办法]
a=3,b=-8,所以a<b就不成立啊,直接执行的c=c+20啊,所以结果就是25啊。