C语言的函数调用规则

请问C语言函数的调用规则是什么,例如主函数main、 函数A 、函数B,这3者的顺序能否打乱,如果 A函数放最前,能否直接调用B函数?还是只能后面的函数调用前面的函数,还是说只要在A函数中声明B函数就能够调用后面的B函数。?main函数的有没有固定的位置,例如要放最前面?或最后面?
我需要程序调用这一部分的 语法描述图,因为规则不是固定,所以画起来有点难度,有没人能提供 程序调用的语法描述图 就是类似 void ----> ident---->(---->)---->{---->语句…… 这样的图。加分加分!!

请问C语言函数的调用规则是什么,例如主函数main、 函数A 、函数B,这3者的顺序能否打乱,
可以打乱,依个人习惯。

如果 A函数放最前,能否直接调用B函数?还是只能后面的函数调用前面的函数,还是说只要在A函数中声明B函数就能够调用后面的B函数。?
A调B,或B调A都可以,如果B在A后,B可直接调用A,否则,先在B前声明一下A再调用A。

main函数的有没有固定的位置,例如要放最前面?或最后面?
没有要求,一般单独一个C文件放main函数。

我需要程序调用这一部分的 语法描述图,因为规则不是固定,所以画起来有点难度,有没人能提供 程序调用的语法描述图 就是类似 void ----> ident---->(---->)---->{---->语句…… 这样的图。加分加分!!
不明白,写两个简单函数实验一下就知道了,这样印象会深刻点不容易忘。追问

例如 void A (){……} void B(){……} void main(){……} 这种格式 在A调用B时应该如何声明?格式和具体语句是什么

追答

定义的时候是这样的:
void B(void)
{
……
}
声明的时候是这样的:
void B (void);

在A函数前面写上B的声明就可以了,无论B在那,都可以使用B了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-21
函数调用时,一定要根据语法和算法。具体位置不好说,但肯定的是,你自己编写的函数在调用前一定要先定义,函数体的编写可以放在其他位置。比如void A(int *a){。。。。} void B(。。){。。。} main(){。。。。}按照这个写法,A若要调用B,一定要在A函数体内定义函数B。而B调用A时就不必了。顺序是可以打乱的,总的来说,调用前面没有的变量或者函数一定要先定义,这样才能使用。你要明确的是C语言程序从整体上讲是顺序执行的。
第2个回答  2016-01-14
C语言调用函数就是先定义并声明函数,之后再根据定义函数的格式调用。

下面举例来说明函数调用方法:
#include<stdio.h>
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中较大的一个数
}
第3个回答  2011-04-21
A在B前面声明的, B就可以调用A, main无论在哪都行, 但也只能调用在它前面声明的函数.

简单点说就是跟顺序没关系, 只要知道被调用者的申明就可以了.
第4个回答  2011-04-21
能,main函数不论放在什么地方总是先执行的,然后按照函数调用顺序来调用
相似回答