C++if语句可以省略else吗?

这个例子没有eles啊·??如果说是if(·····)m=a;n=b;elsem=b;n=a;如果去除了else的话那不是会出错吗... 这个例子没有eles啊·??
如果说是
if(·····)
m=a;
n=b;
else
m=b;
n=a;
如果去除了else的话 那不是会出错吗
展开
 我来答
百度网友0dc423956
推荐于2018-03-13 · TA获得超过1590个赞
知道小有建树答主
回答量:319
采纳率:0%
帮助的人:141万
展开全部
可以,但是图中情况并不是“不需要处理假的情况”。而是:若满足括号中条件,返回x(返回即是函数的结束,不再向下处理);否则,继续向下走返回y。
这个例子可以抽象成这样一个逻辑图:
|
|--if()--return x;---回到上层函数
|
return y;--回到上层函数

如果说是
if(·····)
m=a;
n=b;
else
m=b;
n=a;
如果去除了else的话 那不是会出错吗

答:首先纠正你一个错误,你的意思应该是
if(·····)
{
m=a;
n=b;
}
else
{
m=b;
n=a;
}
不论是if还是else都只管向下一条语句,所以多条语句要用 { } 括起来作为复合语句。
在你举的这个例子里,else是不能去的。因为如果(……)不满足,要执行else后的语句。
但是,如果(……)不满足时,不做任何处理,这时就不需要else了。所以,else是否需要写全看你要用函数实现什么功能。
说else可以不要,是单从语法角度说的,如果一个if后面没有else,是没有语法错误的。
xiahanvy
2013-01-27 · TA获得超过342个赞
知道小有建树答主
回答量:462
采纳率:0%
帮助的人:347万
展开全部
可以,if判定有2种结果,判定为真或者为假,
如果真假要分别对待的时候使用else,如果不需要处理假的情况可以不使用else
追问
如果说是
if(·····)
m=a;
n=b;
else
m=b;
n=a;
如果去除了else的话 那不是会出错吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-01-27
展开全部
显然是可以的啊。else属于non-essential part,就是非必要语法结构。if-else采取最近匹配原则,如果没有则跳过,因为汇编里边是没有else这个东西的,编译之后也是if。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2013-01-27 · TA获得超过116个赞
知道小有建树答主
回答量:144
采纳率:100%
帮助的人:112万
展开全部
完全可以.if不一定需要else
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liang890319
2013-01-27 · TA获得超过1235个赞
知道小有建树答主
回答量:1446
采纳率:50%
帮助的人:428万
展开全部
else不是必须的
追问
如果说是
if(·····)
m=a;
n=b;
else
m=b;
n=a;
如果去除了else的话 那不是会出错吗
追答
对啊  跟你说哈  用if的时候 建议用大括号跟着 哪怕只执行一句指令
---------------------------
if(条件成立)
{
干某些事-
}
-----------第二种用法
if()
{
干一些事
}else
{
干另外一些事
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式