函数调用的四种形式

首先是

1.无参数无返回值
2.有参数无返回值
3.有参数有返回值
4.无参数有返回值

其次是要在main函数前或者里面进行声明,形式与调用时相同

#include "stdio.h"
void max();
void max1(intint);
int max2(intint);
int max3();
int main()
{
	int a,b,e;
	printf("现在开始判断ab的大小\n");
	max();
	printf("max函数执行完毕\n");
	printf("现在执行max1\n");
	scanf("%d %d",&a,&b);
	max1(a,b);
	printf("max1执行完毕\n");
	printf("现在执行max2\n");
	scanf("%d %d",&a,&b);
	max2(a,b);
	printf("max=%d\n",max2(a,b));
	printf("max2执行完毕\n");
	printf("现在执行max3\n");
	e=max3();
	printf("max=%d\n",e);
	printf("max3执行完毕\n");
	return 0;
	}
void max()//无参数无返回值
{
	int a,b;
	a=40;
	b=23;
	if(a>b)
	printf("max=%d\n",a);
    else
    printf("max=%d\n",b);
}
void max1(int a,int b)//有参数无返回值
	{
		if(a>b)
	printf("max=%d\n",a);
    else
    printf("max=%d\n",b);
    }
int max2(int a,int b)//有参数有返回值
    {
	if(a>b)
	return a;
	else
	return b;
    }
 int max3()//无参数有返回值
 {
 	int a,b;
 	a=15;
 	b=20;
 	if(a>b)
 	return a;
 	else
 	return b;
 	}

//这里返回值是返回给函数,由函数带回主函数。

更清晰些的解释:

#include "stdio.h"
void max();
//全局变量:定义在所有的函数体之外,在任何函数体内都可使用
void max2();
int main()
{
	int c,d;//局部变量:定义在某个函数内部的变量为局部变量,只能在该函数的大括号里使用(家小孩理解)没打错!
 printf("判断ab的最大值\n");   
 max();
 printf("max函数执行完毕\n");
 printf("开始执行第二个函数max2\n");
 scanf("%d %d",&c,&d);//把输入的两个值放到里面送出去
 max2(c,d);//调用的时候传递的变量是实参 值传递 把值copy一份给形参
 return 0;//有返回值的函数,函数体最后必须有return关键字 值给了函数名
}

void max()//无参数无返回值
{
	int a,b;
	a=40;
	b=39;
	if(a>b)printf("max=%d\n",a);
	else printf("max=%d",b);
}
//从main函数中读入两个整数,写一个函数完成两个整数的比较,输出最大值
//无法确定的数据,作为参数处理
void max2(int a,int b)//函数定义的时候,参数叫做形参,就是先占着,需要上面的赋值给参数
{
	printf("a=%d b=%d\n",a,b);
	if(a>b)
	printf("max=%d",a);
	else
	printf("max=%d",b);
	
}

或许很啰嗦,但是理解了就值得。

下面是实参和形参的理解:

#include "stdio.h"
int a,b;
a=10,b=5;
int max();
void main()
{
	int c,d;
 printf("比较a,b的大小\n");
scanf("%d %d",&c,&d);
max(c,d);//这里的c和d就是由上面的scanf键盘读入的实参,max调用,将c,d的值给下面的e和f
printf("max函数执行完毕\n");

}
int max(int e,int f)//这里的e和f就是形参,用于此函数体中的使用
{
	printf("a=%d b=%d\n",a,b);
	
}
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值