C语言 调用 int 初学者问题

2024-12-20 14:10:06
推荐回答(5个)
回答1:

int max(int a, int b); 是函数申明。就是在主函数引用外部的函数时要进行函数的什么,不然会报错,说这个函数没有定义。如果这个函数写在main函数后面就可以不用申明。如果这个函数写在main前面就一定要申明。申明就把函数定义赋值粘贴就可以了

回答2:

并没有在主函数再次int max...而是在主函数外定义了一个max函数,实际上开头那个叫做函数声明即函数原型(prototye),只是告诉编译器这里是有max函数的。而后面那个叫做函数的定义或者实现(implement),是函数的工作细节。在C语言里,如果函数的实现在主函数(或者其他函数)调用它之前,就可以省去专门的声明,如果在之后,则必须在主函数(或者其他调用它的函数)之前有一个声明。在C++里则无此必要,但是如果作为一个比较大的项目,好的编程风格是将声明写在.h头文件当中,实现在另一个文件当中,做一个模块化的设计,方便组成自己的函数库。

回答3:

因为你的函数定义
int max(int a, int b)
{
if (a>b) return a ; else return b;
}

在调用 z=max(x,y);

之后,所以在调用前必须先声明,相当于告诉编译器这个函数你已经定义了,让它去后面找,如果你函数调用在定义之后,调用前有没有声明,则编译将会出错。

回答4:

楼主是不是学过Java之类的语言呢 ?
Java是不需要再再main()函数中重新声明定义过的方法的。
但是Java和C不同:Java中定义的方法,在整个类中都能访问;而C语言是一个函数一个代码区间,在main()函数外声明的max()函数在main()函数中不再次声明是无效的。

回答5:

这个是可以的,只要在使用前声明就行