喜悦国际村 专业PHP开发者社区's Archiver

slime 发表于 2010-3-15 05:39 AM

函数正常返回值为啥是0?

这几天在看VC++,看到函数运行完毕后返回return 0,极度不习惯。
我用PHP写函数时,老喜欢正常运行完毕return true,出现错误比如参数格式错误或是SELECT返回空之类时return false,这不就刚好反了?
请问大家是怎么写的?这个PHP和C++应该是通的吧?

smcz 发表于 2010-3-15 09:27 AM

函数是自己写的,自己愿意返回啥就返回啥.  定义了函数的返回值是int型的就返回0或1呗, 定了函数返回值是bool型的就返回true和false呗.

smcz 发表于 2010-3-15 09:28 AM

[i=s] 本帖最后由 smcz 于 2010-3-15 09:29 AM 编辑 [/i]

false == 0
true == 1
但是不能全等(===)

也可以这样写
bool foo()
{
    ....
    return 0;
}

int foo()
{
    ....
    return 0;
}

slime 发表于 2010-3-15 05:54 PM

谢谢,您说的这些我知道,我困惑的,就是false == 0,为什么标准的教材写法函数运行成功后返回0呢?很容易让人误以为是false的啊。

smcz 发表于 2010-3-15 11:33 PM

[b] [url=http://www.phpx.com/redirect.php?goto=findpost&pid=1146478&ptid=259311]4#[/url] [i]slime[/i] [/b]

函数是自写的 返回啥都行。

slime 发表于 2010-3-16 10:31 AM

多谢。

奶瓶 发表于 2010-3-16 01:21 PM

很多时候,这就是errno

slime 发表于 2010-3-16 05:15 PM

errno
呵呵,明白了,是我的应用太小,所以才没想到错误编号。谢了哈。

hhsw 发表于 2010-3-19 10:41 AM

error 0 符合习惯!

matchless 发表于 2010-3-23 03:57 PM

c和c++的主函数返回值是给操作系统的,操作系统的惯例是0为正常结束,所以c和c++的主函数都在正常结束时返回0。
而且只有主函数是这样的,其它函数的返回值是根据要求设置的。

页: [1]

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.