c语言可以返回函数,c语言可以返回函数吗

C语言中 return函数 都可以返回什么东东?

可以返回一个数值(比如int,float,char等),可以是一个函数(在迭代方法里较常用),可以无返回,用来跳出循环,似乎是凡是可以用一个首地址来表示的东西都可以返回

创新互联自2013年起,是专业互联网技术服务公司,拥有项目成都网站建设、成都网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元东方做网站,已为上家服务,为东方各地企业和个人服务,联系电话:13518219792

c语言,返回函数的三种方法,请解释明白点,有例子更好了?

函数参数和

返回值

三种传递方式:值传递、指针传递和引用传递

引用与指针的比较

引用是

C++中的概念,初学者容易把引用和指针混淆一起。一下程序中,n

是m

的一个引用(

reference

),m

是被引用物(referent)。

int

m;

int

n

=

m;

n

相当于m

的别名(绰号),对n

的任何操作就是对m

的操作。所以n

既不是m

的拷贝,也不是指向m

的指针,其实n

就是m

它自己。

C++语言

中,函数的参数和返回值的传递方式有三种:值传递、指针传递和引用传递。

以下是“值传递”的示例程序。由于Func1

函数体内的x

外部变量

n

的一份拷贝,改变x

的值不会影响n,

所以n

的值仍然是0。

void

Func1(int

x)

{

x

=

x

+

10;

}

int

n

=

0;

Func1(n);

cout

“n

=

n

endl;

//

n

=

以下是“指针传递”的示例程序。由于Func2

函数体内的x

是指向外部变量n

的指针,改变该指针的内容将导致n的值改变,所以n

的值成为10。

void

Func2(int

*x)

{

(*

x)

=

(*

x)

+

10;

}

int

n

=

0;

Func2(n);

cout

“n

=

n

endl;

//

n

=

10

以下是“引用传递”的示例程序。由于Func3

函数体内的x

是外部变量n

的引用,x

和n

是同一个东西,改变x

等于改变n,所以n

的值成为10。

void

Func3(int

x)

{

x

=

x

+

10;

}

int

n

=

0;

Func3(n);

cout

“n

=

n

endl;

//

n

=

10

对比上述三个示例程序,会发现“引用传递”的性质象“指针传递”,而书写方式象“值传递”。实际上“引用”可以做的任何事情“指针”也都能够做,为什么还要“引用”这东西?

答案是“用适当的工具做恰如其分的工作”。

C语言中函数返回类型和函数返回值

函数的返回值通过return语句来执行,即return后的变量或表达式的值,就为该函数的返回值(你可以根据需要自定义返回什么值),而返回值的类型是指该值你想要得到的类型,比如return

a;(a的类型,你在函数体里定义的是int

a;但根据需要,你要的是一个float型的返回值),于是,这样定义一个函数:

float

函数名(参数列表)

{

int

a;

函数体;

……

return

a;

}

这样,返回值a就变成了float型。

c语言的函数返回值?

你可以这么理解,比如我们定义了一个函数fun(),如果这个函数有返回值,那么在调用程序里面(比如主函数)就可以把这个函数当成一个数使用;如果没有返回值,那么通常他就是一个独立的语句存在。

比如fun函数里面有个return 0;表示返回值是零,那么在调用函数里面就可以存在诸如

a=fun();b=a+fun();if(fun()=0{};……这类的语句,表示a=0;b=a+0;if(00){};等等,当然也可能是返回一个变量的值,你个指针的值是一样的。

如果没有return 语句,那么函数没有返回值,调用函数里面就不能把他当做一个数值来使用,会出现:

fun();单独成句的语句,在fun()里面可能进行了一些操作,但不需要结果。

C语言自带的函数通常都有返回值,计算函数返回计算结果,操作函数返回操作结果(成功返回1,失败返回0)


文章标题:c语言可以返回函数,c语言可以返回函数吗
转载来源:http://pwwzsj.com/article/dsgpicd.html