c语言函数能调用自己吗 c语言中自定义函数可以调用其他函数吗

c语言中主函数能调用自己吗?

主函数不能调用自己。

创新互联公司网站建设提供从项目策划、软件开发,软件安全维护、网站优化(SEO)、网站分析、效果评估等整套的建站服务,主营业务为成都网站设计、成都网站建设app软件定制开发以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。创新互联公司深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

主函数实际上是有参函数,从操作系统传入变量,结束时有数值返回操作系统。

int main(int argc, char *argv[]){

return 0;

}

其中:

int argc, char *argv[] 从操作系统传入

return 0; 返回操作系统

如果你的数据不需要同操作系统发生关系,你可以写成自定义函数,主函数里就一个语句--调用这个自定义函数。

51的C语言中允许子函数调用其本身吗?

1、C语言可以嵌套调用或递归调用子函数。

在C语言中,函数嵌套允许在一个函数中调用另外一个函数。例如

funca()

{

funcb();

}

这个就叫做嵌套调用,它是一个语言提供的程序设计的方法,也就是语言的特性。

2、递归,是一种解决方案,一种思想,将一个大工作分为逐渐减小的小工作,比如说一个人要搬50块石头,他想,只要先搬走49块,那剩下的一块就能搬完了,然后考虑那49块,只要先搬走48块,那剩下的一块就能搬完了……以此类推的思考,递归是一种思想,只不过在程序中,就是依靠函数嵌套这个特性来实现了。例如

funca()

{

if(statement1)

funca();

else

exit(0);

}递归最明显的特点就是,自己调用自己(就是函数嵌套调用)

c语言中,一个函数可以调用其他函数,不能调用自己

错,函数可以调用自己,函数自己调用自己的这种调用方式称为函数的递归调用,我给你举个列子:

int calc(int num){

if(num==0){

return 0;

}else{

return num*calc(num-1);

}

}

这个函数就是利用递归求任意一个整数的阶乘

C语言中函数怎么自己调用自己

一,函数调用的一般形式为:

函数名(实参列表);

实参可以是常数、变量、表达式等,多个实参用逗号,分隔。

在c语言中,函数调用的方式有多种,例如:

在函数调用中还应该注意的一个问题是求值顺序的问题。所谓求值顺序是指对实参列表中各个参数是自左向右使用呢,还是自右向左使用。对此,各系统的规定不一定相同。

【示例】在vc6.0下运行以下代码。

运行结果:

8

7

6

7

可见vc

6.0是按照从右至左的顺序求值。如果按照从左至右求值,结果应为:

9

10

9

8

函数的嵌套调用

函数不能嵌套定义,但可以嵌套调用,也就是在一个函数的定义中出现对另一个函数的调用。这样就出现了函数的嵌套调用,即在被调函数中又调用其它函数。

【示例】计算sum

=

1!

+

2!

+

3!

+

...

+

(n-1)!

+

n!

分析:可以编写两个函数,一个用来计算阶乘,一个用来计算累加的和。

#include

//求阶乘

long

factorial(int

n){

int

i;

long

result=1;

for(i=1;

i=n;

i++){

result

*=

n;

}

return

result;

}

//

求累加的和

long

sum(long

n){

int

i;

long

result

=

0;

for(i=1;

i=n;

i++){

//嵌套调用

result

+=

factorial(n);

}

return

result;

}

int

main(){

printf("1!+2!+...+9!+10!

=

%ld\n",

sum(10));

return

0;

}

二,有些自定义函数可能会被频繁的调用,所以写在一个c文件里是不太方便的。应该把这些自定义的函数写在一个c文件里,同时在一个头文件.h文件里声明。主函数可以通过引用该头文件然后调用需要的自定义函数。

1,举例:在头文件(.h)里声明自定义函数

2,在一个c语言文件里写下自定义函数的实现

3,在主函数中调用自定义函数

4,最后编译所有的涉及到的c文件,头文件可以不管


名称栏目:c语言函数能调用自己吗 c语言中自定义函数可以调用其他函数吗
文章路径:http://myzitong.com/article/dodihcp.html