关于return 的返回值问题
if( )
return 1;
else
return 0;
两个return 返回表示什么意思。
return
分享到:
------解决方案--------------------
return可以返回任意值,值的意义要看你的代码本身了。有可能是类似bool值,表示true、false,也可能是错误代码,或者是其他可能。你没有给出具体环境,只能说条件成立返回1,不成立则返回0。
还有么就是一个返回不为void的函数,至少要有1个return。如果if里有一个return,那么else语句或if后的语句必须有另一个return,不然可能出现返回语句不能完全覆盖的情况。简单来说就是条件成立要return,不成立时也要有return
------解决方案--------------------
在c语言中,我见过return的3种用法:
1、在有返回值的非主函数(main)中,return一个值作为返回值;
2、在不管有无返回值的非主函数(main)中,"return;"作为一条语句,作用是跳出当前函数,类比于break跳出当前循环;
3、在主函数中,return返回一个值,这个值用于调试,请看我举例的代码。
/*
*IDE:codeblocks 12.11
*OS:win7 sp2 x86
*/
#include
int haha(int num)
{
if(num>0)
{
return 1;
}
else if(num<0)
{
return -1;
}
else
{
return 0;
}
}
void hello()
{
printf("haha1\n");
return; //跳出haha(),此语句后面的语句不执行
printf("haha2\n");
}
int main()
{
int num=0;
int temp=0;
hello();
printf("input num:");
scanf("%d",&num);
switch(haha(num))
{
case 1:
printf("num大于0\n");
break;
case -1:
printf("num小于0\n");
break;
case 0:
printf("num等于0\n");
break;
default:
break;
}
//为查看效果,测试一和测试二只保留一个
//测试一:
printf("%d,%d\n",haha(num),temp); //返回输出的字符个数,当程序结尾的return 0被注释时,程序会返回此值
//测试二:
scanf("%d%d",&num,&temp); //返回成功接收的参数个数,失败返回-1,可用EOF表示,,当程序结尾的return 0被注释时,程序会返回此值
//return 0; //当程序成功执行时,指定返回0,一般出错时返回-1
}