今天刚学习定义函数,定义int max(int a,int b)这个函数时里的a和b必须在main函数里定义吗?还是可以用新的数字表示?比如我main函数里没定义a和b但是我在定义函数是用了a和b可以吗?
这个int max后面的a和b这个形参是不是只是一个符号?代表等会main函数里要比较的两个数啊?
定义函数时前面有时用void是什么意思啊?
感谢回答!
定义函数时前面有时用void,void 表示空,定义函数时用 void ,表示函数没有返回值。
定义int max(int a,int b)函数时,这里的 a b是形参,它的作用域仅在max()函数体内。
同样的,int main(){int a,b; max(a,b);} 在主函数里定义的 a b ,它的作用域仅在主函数体内.
下面代码,帮助理解,供参考:
#include <stdio.h>
int max(int a,int b)//定义函数形参 a b, 它们的作用域在函数体内
{ //这个函数有返回值,所以定义 int max() 。
if (a > b)
return a;
else
return b;
}
int main()
{
int a = 2, b = 6;
printf("max(a,b):%d\n", max(a,b));//调用 max()函数,这里a b是实参
//这里可以看出,形参和实参可以同名,
//但相互不受影响。
int c = 5, d = 3;
printf("max(c,d):%d\n", max(c,d));//调用 max()函数,这里c d是实参
return 0;
}