C语言return 0的问题

在一个void的自定义函数中用return 0表示不满足条件。那么这个return 0跳转到主函数的哪里?是直接往下运行还是直接跳出主函数?

return 的意思就是当前函数返回,如果当前函数是主函数,那么主函数就返回,如果不是,则当前函数返回,返回到调用该函数的地方,举个例子:
void fun()
{
return; // 由于函数返回void,因此只能用renturn; 不能用return 0;

}
int main()
{
fun(); // 执行完本函数后,返回这里,继续执行下面的

return 0; // 主函数返回,程序退出

}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-01-08
在一个void的自定义函数中用return 0表示不满足条件。那么这个return 0跳转到主函数的哪里?是直接往下运行还是直接跳出主函数?编译会出错的
void的自定义函数中不能用return 0;只能return

int calc(int a,int b,int *c);

int main()
{
int x=10,y=2,z=0,w=0;
//调用函数calc(x,y,&z);

w=calc(x,y,&z);//现在返回值到了w中了。
//return 任何值都到这里
switch(w)
{
case 1:printf("%d / %d=%d",x,y,z);break;
case 0:printf("错误,除数为零");break;
case -1:printf("错误,被除数必须大于1!");break;
case -2:printf("错误,除数必须大于1!");break;
default: printf("不知道的错误");break;
}

return 0;//应用程序退出时,取返回码可以得到 0值
}
int calc(int a,int b,int *c)
{
if(b==return 0)
{
return 0; //被0除错误
}
else if(a<1) // 必须a>1
{
return -1;
}
else if(b<1) // 必须b>1
{
return -2;
}
c=a/b;
return 1;

}
第2个回答  2013-01-08
你的程序怎么写的?主函数定义类型了吗?如果主函数是void类型,return 0 是不成立的,你编译肯定出错。如果主函数定义为int或者char……,结果相当于主函数被赋值0,然后程序会继续往下运行
第3个回答  2013-01-08
void声明函数是空函数,没有返回值,如果要有return的话就不应该声明void
retur0n是提供函数的返回值,比如调用了一个子函数,就要在子函数里面加上return以提供经子函数计算后的值
第4个回答  2021-02-19

相似回答