C语言问题 谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/06 04:45:22
(a)在C语言程序中,所有被调用函数一定要在调用之前进行定义

(b)在C语言程序中,要调用的函数必须在主函数中定义

这两个结论不成立,可以通过一个小程序举一个反例吗?解释一下,谢谢

#include<stdio.h>

int main()
{
int a,b,c;
printf("input a,b\n");
scanf("%d%d",&a,&b);
c=max(a,b);
printf("max=%d\n",c);
return 0;
}
int max(int a,int b)
{
return a>b?a:b;
}

说明:max()函数我没在主函数中定义,也没在使用之前定义,int型的函数可以不定义直接调用

函数调用之前,必须已声明或者已定义。

void after_main(); // declare before main

void out_of_main() {} // define out of main

int main()
{
out_of_main();
after_main();
return 0;
}

void after_main() {} // define after main

(1)先声明即可,定义可写在任何地方
(2)显而易见的,大多数程序的函数定义都写在函数体外

#include<stdio.h>
int sum(int,int);

void main()
{
int x=1,y=2;
int z;
z=sum(x,y);
printf("%d\n",z);

}

int sum(int x,int y)
{
return x+y;
}
这是反驳题(a)的一个小程序,我们用主函数去调用sum(),但我们并没有在主函