C语言if语句内定义变量类型,在范围外用,为啥不用再定义?
例如:if(a>0){if(b<a){a--;boolc=true;}elsec=false;}elsec=false;上面只在满足前两个if之后才定义的布尔变量c,如果...
例如:
if(a > 0)
{
if(b < a)
{
a--;
bool c = true;
}
else c = false;
}
else c = false;
上面只在满足前两个if之后才定义的布尔变量c,如果条件不满足,直接走else语句,这时c变量还没定义呢。为啥在这else里不用定义c的变量类型?
没错啊,书上例子就是这么写的,只不过我把参数换成了abc,方便看,。 展开
if(a > 0)
{
if(b < a)
{
a--;
bool c = true;
}
else c = false;
}
else c = false;
上面只在满足前两个if之后才定义的布尔变量c,如果条件不满足,直接走else语句,这时c变量还没定义呢。为啥在这else里不用定义c的变量类型?
没错啊,书上例子就是这么写的,只不过我把参数换成了abc,方便看,。 展开
2个回答
展开全部
if(b < a)
{
a--;
bool c = true;
}
变量c是的生存期只有这个if{}中,超过就会被释放.
bool c;
if(a > 0)
{
if(b < a)
{
a--;
c = true;
}
else c = false;
}
else c = false;
这样就可以使用
{
a--;
bool c = true;
}
变量c是的生存期只有这个if{}中,超过就会被释放.
bool c;
if(a > 0)
{
if(b < a)
{
a--;
c = true;
}
else c = false;
}
else c = false;
这样就可以使用
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询