函数的返回值是指在函数体中执行程序段得到的,在函数被调用后返回给调用函数的值。下面这篇文章主要介绍C语言中函数返回值的相关信息,有需要的朋友可以参考一下。
目录
前言C语言返回值C语言函数调用必须带回返回值?摘要
前言
函数的返回值是指函数被调用后执行函数体中代码的结果,这个结果由return语句返回。
return语句的一般形式是:
返回表达式;
或者:
回归(表情);
否()是正确的。为了简洁起见,()一般不写。例如:
返回max
返回a b;
return(100 200);
C语言返回值
1.没有返回值的函数是空类型,用void表示。例如:
void func(){
printf(' http://www . Baidu . com \ n ');
}
一旦函数的返回值类型被定义为void,它就不能再接收它的值。例如,下面的说法是错误的:
int a=func();
为了使程序可读,减少错误,所有不需要返回值的函数都应该定义为void类型。
2.可以有多个return语句,可以出现在函数体的任何地方,但是每次调用一个函数只能执行一个return语句,所以返回值只有一个。
例子
//返回两个整数中较大的一个
int max(int a,int b){
如果(a b){
返回a;
}否则{
返回b;
}
}
如果ab成立,则执行return a,不执行return b;否则,将执行返回b,但不会执行返回a。
3.函数一旦遇到return语句,就会立即返回,后续所有语句都不会执行。return语句还具有强制结束函数执行的效果。
例子
//返回两个整数中较大的一个
int max(int a,int b){
返回(ab)?甲:乙;
printf('函数已执行\ n ');
}
第四行代码永远不会被执行。
我们定义一个判断素数的函数,这个例子比较实用:
#包含stdio.h
int prime(int n){
int是_prime=1,I;
//n一旦小于0,就不满足条件,就不需要执行下面的代码,所以早点结束函数。
if(n0){ return-1;}
for(I=2;在;i ){
if(n % i==0){
is _ prime=0;
打破;
}
}
return是_ prime
}
int main(){
int num,is _ prime
scanf('%d ',编号);
is _ prime=prime(num);
if(is_prime 0){
printf('%d '是非法数字。\n ',编号);
}else if(is_prime 0){
printf('%d是一个质数。\n ',编号);
}否则{
printf('%d '不是质数。\n ',编号);
}
返回0;
}
Prime()是一个用来寻找质数的函数。是一个质数,其值大于或等于零。一旦传递给prime()的值小于零,就没有意义,无法判断是不是素数。因此,一旦检测到参数n的值小于零,就使用return语句提前结束函数。
return语句是提前结束函数的唯一方法。Return后面可以跟一段数据,表示这段数据被返回到函数外部;Return后面可能没有任何数据,这意味着不返回任何内容,它仅用于结束函数。
让我们让return后面不跟任何数据:
#包含stdio.h
void prime(int n){
int是_prime=1,I;
if(n 0){
printf('%d '是非法数字。\n ',n);
返回;//返回后没有任何数据
}
for(I=2;在;i ){
if(n % i==0){
is _ prime=0;
打破;
}
}
if(is_prime 0){
printf('%d是一个质数。\n ',n);
}否则{
printf('%d '不是质数。\n ',n);
}
}
int main(){
int num
scanf('%d ',编号);
素数(num);
返回0;
}
prime()的返回值是void。返回后不能带任何数据,只写分号。
c语言函数调用后必须带回返回值?
虚空的作用是:
(1)功能回归的局限性;
(2)函数参数的定义。
首先为一个例子定义一个函数。
返回值函数名(参数1,参数2,参数3,)
{内容}
int sum (int a,int b)
{
int c;
c=a * b;
返回c;
}
第一个int是返回值,是其他函数调用这个函数时,这个函数给他的一个值。
表格1:
如果调用时不需要返回值,则该函数编写为
Void sum(int a,int b) {.}该函数此时没有返回值。
表格2:
Intsum (void) {.}
此时,void的意思是空的,意味着没有参数。
表格3:
如果不需要,则为Voidsum (void );
所以回到上一个问题,C语言函数在被调用后必须带回返回值?
形式一和形式三足以证明这句话的绝对性;
总而言之:
Void main main函数没有返回值,main默认为int类型,即int main(),返回一个整数。
根据新的C99标准,即使函数本身没有定义返回值,编译器也会添加它以将其返回给启动器并运行它。很多人甚至在市面上的一些书中使用void main()。其实这是不对的。Void main()从未在C/C中定义过。
C之父比雅尼斯特劳斯特鲁普明确写下了定义void main () {/*.*/}不是也从来不是C,甚至都不是C,也就是他主页的FAQ里的(void main()从来不存在于C或C中)。在某些编译器(如Devc)中,不能编译void main()形式)
注意新标准不允许默认返回值,即int不能保存,对应的main函数也不再支持void返回值。因此,为了使程序可移植,强烈建议使用:
int main()
{
返回0;/*新标准主函数的返回值此语句可以省略*
}
总结
这就是这篇关于C语言函数返回值的文章。关于C语言函数返回值的更多信息,请搜索我们之前的文章或者继续浏览下面的相关文章。希望大家以后能多多支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。