c语言中return返回的值给谁,关于return 的返回值有关问题

关于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

}