c++里面return的用法是return [返回值]用于返回函数的返回值。
在函数中,如果碰到return 语句,那么程序就会返回调用该函数的下一条语句执行,也就是说跳出函数的执行,把程序流程从被调函数转向主调函数并把表达式的值带回主调函数,实现函数值的返回,返回时可附带一个返回值,由return后面的参数指定。
扩展资料:
return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的。 如果函数执行不需要返回计算结果,也经常需要返回一个状态码来表示函数执行的顺利与否(-1和0就是最常用的状态码),主调函数可以通过返回值判断被调函数的执行情况。
子程序函数返回主调函数,宣告函数的一次执行结束,在调用期间所分配的变量单元被撤消。送函数值到调用表达式中,当然这一点并不是必需的,因为有些函数有返回值,有些函数没有返回值。
(1)return;void 函数使用
举例,输出整数的平方根,负数什么也不做!
void printsqrt(int n) {
if (n<0)return;
printf("%d",(int)sqrt(n));
}
也可以这样:
void printsqrt(int n)
{
if (n<0)return;
printf("%d",(int)sqrt(n));
return ;/*不过最后这个return ;通常不写 */
}
2) return 0 ;3)return 1;4)5)return(表达式);return -1;*1)return n; *2) return 表达式;
2),3) 4) 5 ,*1) *2) 是同一种用法,
int add(int a,int b){return a+b;}
下面4个求整数的符号的函数:
1) 负数 -1, 0 :0;正数 1; 适用于分三种情况,采取不同措施的场合
int sign3of(int x)(if(x<0)return -1;if(0==x)return 0;return 1;};
2)负数 -1, 0和正数 1,取符号用于乘除法!!比如长整数乘除法
int signof(int x)(if(x<0)return -1;return 1;};
3) 判断是否负数
int isnegative(int x)(if(x<0)return 1;return 0;};
4) 判断是否正数和0
int isplus(int x)(if(x<0)return 0;return 1;};
对于,main 函数
int main()
{ FILE *fp=fopen("a.txt","rt");
if(NULL==fp)return -1;//返回负数;表示失败
。。。。
fclose(fp);
return 0;//返回0 表示成功
}
很多库函数,也这样做
WIN API 也有许多函数这样做
也有许多函数返回0 表示失败,返回1或正数 表示成功;
也有许多函数返回-1 表示失败,返回0或正数 表示成功;
一些计算相关的函数,直接返回结果
就是说,返回值根据需要来确定,除了 main()函数,其他函数都是根据需要自己确定的;
并没有一个标准,要求必须返回某个数值或类型;
5)return(表达式);就是return 表达式;
就像 (x) 就是 x 一样,这种用法只是某些人的习惯,谈不上好,也谈不上坏!!!
具体的:
举例说明吧
//比较两个数的大小,返回1,代表x>y,返回0代表两个数相等,返回-1,代表x
int max(int x,int y)//比较两个数的大小
{
if (x>y)
{
return 1;
}
if (x==y)
{
return 0;
}
if (x
return -1;
}
}
其实上面的这个max函数也可以这样写。return(表达式)
int max(x,y)
{
return x>y?1:-1;
}
int main(void)
{
int value;
value = max(6.9);//在这里你可以看见你的函数返回值是什么
printf("%d",value);
return 0;
}
现在来说return
return 有两种
1,函数结束不满足当前的值return,
2,函数执行晚可以用return
比如:
void add(x,y)
{
if(x == y)
{
return;
}
else
x--;
return
}
第一个就是返回void值,当然你的函数返回类型应该是void型。
第二个返回0,表示程序正常运行完毕,一般看来是多余的,因为出现这种情况的地方,可以把0改成其他的值也没关系。但是对于编译器内部处理应该是不一样的。还有,ACM竞赛里规定main函数必须这种形式int main(),返回必须是return 0;决不允许void main()。这其实对于编程来说是一样的。但是对于机器内部处理就不一样了。对于机器内部到底怎么处理,就不用管了。
三,四,我想也一样吧,一句话就是表示程序运行的一个状态,对机器内部处理有用,对我们没用。
1 return 后面没有值,意思是返回值为空,一般是用在void类型(无返回值)的函数中
2~4 应该是返回一个常数的意思,意义是一样的,只是返回的值不同,具体区别需要看你怎么用了。