|
发表于 2005-6-9 17:34:49
|
显示全部楼层
to: wsm
"何况:这里写用if(flag) 那如果在我的系统里就是flag=0是真 =-1是假呢? 开发环境何止千种?"
---------->即使真的存在这种情况,用if(flag)也是正确的,理由如下:
比如:
[code:1]
if(flag)
run1();
else
run2();
[/code:1]
假如 0 - TRUE , -1 - FALSE
flag = 0 时 , if(0) = TRUE , 执行 run1()
flag = -1时 , if(-1) = FALSE ,执行run2()
不过,如果改成if(flag == TRUE)时也是正确的, 哈哈
##############################################
对于前一个帖子的补充:
假设有一个函数 int check(); flag = check();
失败返回 0 , 根据函数内部状态 , 成功可能返回 1 , 2 ,3 等情况.
这时如果要判断成功执行了,一般写成 if(flag) , 但是如果if(flag == TRUE)写的习惯了,就可能出现用if(flag == TRUE)来判断的情况.
没有写过 if( i = 1)这样的错误的人,估计是没写过几行代码的人.程序员也是人,也会写出低级错误的代码.
所以良好的编码习惯还是有必要的. |
|