问个编程习惯的问题。

blueiceyhx 2010-06-02 12:29:23
看了杨中科老师的《C语言也能干大事》第一节,结尾上说大概说了了这样一个问题,如果把被判断值放在左侧,可以避免些编译错误,不太理解,指的什么错误。。
int a=2;
int b=3;
if(a ==b)/*相当于if(b== a)吧*/
{
a=1;
}
...全文
38 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
poppoo1986 2010-06-02
  • 打赏
  • 举报
回复
if ( 0 = i )
报错

if ( i = 0 )

不报错 但是不是你想要的结果。这里是 false
yoan_T 2010-06-02
  • 打赏
  • 举报
回复
好像在什么地方看过 所谓的把判断值放在左侧 一般这个判断值是一个常量,
在这种情况下可以避免因为将==误写为=的情况发生,
因为假设左侧为一常量=赋值是编译错误的,
在这种情况下的编译时就报错,
但是如果放右侧是编译时不会报错的
senr0816 2010-06-02
  • 打赏
  • 举报
回复
类似于

if( 1 == a ) //而不写成if( a == 1 )
{

}

这样的话,就可以避免写成

if( a = 1 )
{

}

这样的恒为真的错误
jjunjoe 2010-06-02
  • 打赏
  • 举报
回复
应该是这样的,
int i = 1;
if ( 0 == i )
{
// do something
}

这样,如果你错写成
if ( 0 = i )
{
// do something
}

编译器就会报错了。

对于判断两边都是变量的情况是没用的。

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧