在C语言程序中,被调用的函数必须在main( )函数中定义 这句话对吗、、、

在C语言程序中,被调用的函数必须在main( )函数中定义 这句话对吗、、、,第1张

不对。C语言中函数可以定义在main()函数外面,如下列代码中定义的swap函数,就是在main()函数外面。

示例代码:

#include<stdioh>

void swap(int a,int b){

int t;

t = a;

a = b;

b = t;

}    

int main(){ 

int a=23,b = 43;

printf("输入的两个要交换的数为:%d,%d\n",a,b);

swap(&a,&b);

printf("交换后的数为:%d,%d\n",a,b);

return 0;

}

程序运行结果:

扩展资料

对于C 程序而言,它所有的命令都包含在函数内。每个函数都会执行特定的任务。有一个特别的函数,名称为 main()——该函数是程序启动后,第一个执行的函数。其他所有函数都是 main()函数的子函数(或者与之相关联的过程,例如回调函数),并且它们的函数名称可以自己设定。

参考资料:

-C语言函数

C语言中,函数调用的一般形式为:

函数名(实际参数表)

对无参函数调用时则无实际参数表。实际参数表中的参数可以是常数、变量或其它构造类型数据及表达式。各实参之间用逗号分隔。

#include<stdioh>

int fun(int x, int y); // 函数声明,如果函数写在被调用处之前,可以不用声明

void main()

{

int a=1, b=2, c;

c = fun(a, b); // 函数的调用,调用自定义函数fun,其中a,b为实际参数,传递给被调用函数的输入值

}

// 自定义函数fun

int fun(int x, int y)  // 函数首部

{  // {}中的语言为函数体

return x>y  x : y;  // 返回x和y中较大的一个数

}

扩展资料

C语言中不允许作嵌套的函数定义。因此各函数之间是平行的,不存在上一级函数和下一级函数的问题。但是C语言允许在一个函数的定义中出现对另一个函数的调用。

这样就出现了函数的嵌套调用。即在被调函数中又调用其它函数。这与其它语言的子程序嵌套的情形是类似的。其关系可表示如图。 

图表示了两层嵌套的情形。其执行过程是:执行main函数中调用a函数的语句时,即转去执行a函数,在a函数中调用b 函数时,又转去执行b函数,b函数执行完毕返回a函数的断点继续执行,a函数执行完毕返回main函数的断点继续执行。

参考资料:

函数调用_

关键1:static 变量生命期同整个程序。所以每次调用后,函数f里的新a值将保留到下次调用时使用。

关键2:a++ 是后缀++,表达式里用原值a, 出了表达式才自增1,n+=a++; 要分解成:

n=n+a; a=a+1;

程序运行:

s=f(3); 函数调用 [a=1;n=n+a=4,a++=2;] s=4。

s=s+f(3)=4+f(3); 函数调用[a=2;n=3+2=5;a++=3] ; s=4+5=9;

输出 9

在一个函数内部调用另一个函数的调用方式称为嵌套调用,嵌套调用就是某个函数调用另外一个函数(即函数嵌套允许在一个函数中调用另外一个函数)。

# 函数的嵌套调用:在一个函数内部调用另一个函数

def fn1():

pass

def fn2():

fn1()  # 函数的嵌套调用

def fn3():

fn2()  # 函数的嵌套调用

fn3()

扩展资料:

嵌套调用执行过程:

1、执行main函数的开头部分;

2、遇函数调用语句,调用函数a,流程转去a函数;

3、执行a函数的开头部分;

4、遇函数调用语句,调用函数b,流程转去函数b;

5、执行b函数,如果再无其他嵌套的函数,则完成b函数的全部 *** 作;

6、返回到a函数中调用b函数的位置;

7、继续执行a函数中尚未执行的部分,直到a函数结束;

8、返回main函数中调用a函数的位置;

9、继续执行main函数的剩余部分直到结束。

-嵌套调用

函数准确来说就是通过一系列的计算得到一个返回值,如果没有返回值的可以视为返回值为空,因此,你可以把函数看成一种类型的变量。

系统调用任何东西都是通过调用main函数做的。如果你的对函数的定义在main函数之前,那么编译的时候在main函数里面调用,就会查找之前有没有定义。之后有没有他是不知道的。

如果没有定义,那么你可以先声明下。你可以把声明看成一个main之前还没有实现的函数的占位符。这个占位符告诉你函数的参数和返回值。

对的。

C语言只要是函数,包括main,都可以被调用。 下面的代码是可以的

void f(){ main(); }

int main()

{

f();

return 0;

}

把定义的函数放在,main函数之前即可。

自定义的函数需要声明在调用之前,比如说在main函数里调用自定义的fun(),则fun()的方法体需要写在main函数之前。

在C语言中的执行总是从main函数开始的,无论main函数在哪个位置都肯定从它开始。如果你定义的函数在main函数之后。

而且在main函数前没有进行该调用函数的声明那么当在main函数中调用的该函数系统将不认识,会有错误提示的,如果定义的函数在main函数之前,那么就没事了。

扩展资料:

C语言中标识符的使用规范:

1、标识符由字母(A-Z,a-z)、数字(0-9)、下划线“_”组成,并且首字符不能是数字,但可以是字母或者下划线。例如,正确的标识符:abc,a1,prog_to。

2、不能把C语言关键字作为用户标识符,例如if,for,while等。

3、标识符长度是由机器上的编译系统决定的,一般的限制为8字符(注:8字符长度限制是C89标准,C99标准已经扩充长度,其实大部分工业标准都更长)。

4、标识符对大小写敏感,即严格区分大小写。一般对变量名用小写,符号常量命名用大写。

5、标识符命名应做到“见名知意”,例如,长度(length),求和、总计(sum)。

—标识符

—main函数

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/12183048.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存