if语句中的return 1和return 零有什么区别啊

if语句中的return 1和return 0有什么区别啊?
[code=c][#include <stdio.h>
int main(int argc,char *argv[])
{
    if(argc<3)
    {
        printf("usage:%s oldpath newpath\n",argv[0]);
        return 1;//改成return 0好像也可以。
    }
    if(rename(argv[1],argv[2])<0)
    {
        printf("failed!\n");
        return 1;//改成return 0也行
    }
    else
    {
        printf("%s=>%s\nsuccessful!\n",argv[1],argv[2]);
    }
    return 0;
}
~      /code]

~      
linux c c

------解决方案--------------------
return 0 代表正常退出main函数还给操作系统

return其他值 表示main函数不正常退出
------解决方案--------------------
返回0表示程序正常退出。正常情况下没有区别,一般用不到。
------解决方案--------------------
main中return应该代表该程序退出时的状态,在unix编程里,return 0是代表正常退出。
------解决方案--------------------
返回0  或者 1都是在特定环境定义的。

比如在VC中提供的工具Error lookup中 0代表,操作成功完成。 
1代表函数不正确。