第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;
}