c语言中,if(a==0){} 与if(0==a){} 有区别么?其中a是变量

肯定是有不同的,我在某个java视频中看到过,现在一下子找不到... 肯定是有不同的,我在某个java视频中看到过,现在一下子找不到 展开
 我来答
七叶ying6
2011-04-25 · TA获得超过215个赞
知道小有建树答主
回答量:104
采纳率:0%
帮助的人:63万
展开全部
在功能上没有区别,只是后一种的编程习惯更好,因为前一种很容易不小心写成if(a=0)了,而这样的错误在编译的时候不会被发现,只是你的运行结果会不正确;而后一种如果写成了if(0=a),编译会报错,这样很容易就会发现你出错的地方。
arthur_st
2011-04-25 · 超过12用户采纳过TA的回答
知道答主
回答量:45
采纳率:0%
帮助的人:36.2万
展开全部
没有区别,后面的是防止将“ == "写成 ”=“,算是一种防错的处理技巧 :若误将" == " 写成 ” = “ ,前者的写法,编译器是不报错的;而后者编译时报错
追问
if(0==a){} 为啥会报错,是不是不能有a=(0==a);这种写法?
追答
0 == a不会报错;0 = a报错,变量 a是一个左值
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
科技程序迷
2011-04-25 · TA获得超过2822个赞
知道大有可为答主
回答量:2240
采纳率:0%
帮助的人:1832万
展开全部
因为是关系运算符,所以在这两个表达式中我认为除了写法不同但是结果相同。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b79519e
2011-04-25 · TA获得超过3399个赞
知道大有可为答主
回答量:1417
采纳率:100%
帮助的人:1320万
展开全部
没有区别,a等于0的话,那么条件都为真,若不等于0,条件都为假...
==是关系运算符,从左向右运算...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式