C语⾔return的⽤法详解,C语⾔函数返回值详解
C语⾔return的⽤法详解,C语⾔函数返回值详解
函数的返回值是指函数被调⽤之后,执⾏函数体中的代码所得到的结果,这个结果通过 return 语句返回。
return 语句的⼀般形式为:
return表达式;
或者:
return(表达式);
有没有( )都是正确的,为了简明,⼀般也不写( )。例如:
return max;
return a+b;
return(100+200);
对C语⾔返回值的说明:
1. 没有返回值的函数为空类型,⽤void表⽰。例如:
void func(){
printf("c.biancheng\n");
}
⼀旦函数的返回值类型被定义为 void,就不能再接收它的值了。例如,下⾯的语句是错误的:
int a =func();
为了使程序有良好的可读性并减少出错, 凡不要求返回值的函数都应定义为 void 类型。
2. return 语句可以有多个,可以出现在函数体的任意位置,但是每次调⽤函数只能有⼀个 return 语句被执⾏,所以只有⼀个返回值
(少数的编程语⾔⽀持多个返回值,例如Go语⾔)。例如:
//返回两个整数中较⼤的⼀个
int max(int a, int b){
if(a > b){
return a;
}else{
return b;
}
}
如果a>b成⽴,就执⾏return a,return b不会执⾏;如果不成⽴,就执⾏return b,return a不会执⾏。
3. 函数⼀旦遇到 return 语句就⽴即返回,后⾯的所有语句都不会被执⾏到了。从这个⾓度看,return 语句还有强制结束函数执⾏的作
⽤。例如:
//返回两个整数中较⼤的⼀个
int max(int a, int b){
return(a>b)? a : b;
printf("Function is performed\n");
}
第 4 ⾏代码就是多余的,永远没有执⾏的机会。
下⾯我们定义了⼀个判断素数的函数,这个例⼦更加实⽤:
//n⼀旦⼩于0就不符合条件,就没必要执⾏后⾯的代码了,所以提前结束函数
if(n <0){return-1;}
for(i=2; i<n; i++){
if(n % i ==0){
is_prime =0;
break;
}
}
return is_prime;
}
int main(){
int num, is_prime;
c语言return的用法和搭配scanf("%d",&num);
is_prime =prime(num);
if(is_prime <0){
printf("%d is a illegal number.\n", num);
}else if(is_prime >0){
printf("%d is a prime number.\n", num);
}else{
printf("%d is not a prime number.\n", num);
}
return0;
}
prime() 是⼀个⽤来求素数的函数。素数是⾃然数,它的值⼤于等于零,⼀旦传递给 prime() 的值⼩于零就没有意义了,就⽆法判断是否是素数了,所以⼀旦检测到参数 n 的值⼩于 0,就使⽤ return 语句提前结束函数。
return 语句是提前结束函数的唯⼀办法。return 后⾯可以跟⼀份数据,表⽰将这份数据返回到函数外⾯;return 后⾯也可以不跟任何数据,表⽰什么也不返回,仅仅⽤来结束函数。
更改上⾯的代码,使得 return 后⾯不跟任何数据:
if(n <0){
printf("%d is a illegal number.\n", n);
return;//return后⾯不带任何数据
}
for(i=2; i<n; i++){
if(n % i ==0){
is_prime =0;
break;
}
}
if(is_prime >0){
printf("%d is a prime number.\n", n);
}else{
printf("%d is not a prime number.\n", n);
}
}
int main(){
int num;
scanf("%d",&num);
prime(num);
return0;
}
prime() 的返回值是 void,return 后⾯不能带任何数据,直接写分号即可。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论