856

1、函数全缺省参数,函数在定义或者声明时,所有的形参都默认值。

#include<stdio.h>
//x,y为函数的形参,如果函数被调用时,没有设置x和y值,x值默认为100,y值默认为5
intsub(intx=100,inty=5)
{
return(x-y);

intmain(void)
{
inta=20;
intb=10;
//变量a、b为sub函数的实参
printf("sub函数计算结果=%d\n",sub(a,b));
//注意:我们并没有为sub函数设置实参,此时默认x=100y=5
printf("sub函数计算结果=%d\n",sub());
return0;

/*
输出:
sub函数计算结果=10
sub函数计算结果=95
*/

2、函数半缺省参数,函数在定义或者声明时,只有一部分形参有默认值。

#include<stdio.h>
//x,y为函数的形参,如果函数被调用时,没有设置y值,y值默认为5

intsub(intx,inty=5)
{
return(x-y);

intmain(void)
{
inta=20;
intb=10;
//变量a、b为sub函数的实参
printf("sub函数计算结果=%d\n",sub(a,b));
//注意:我们并没有为sub函数第二个参数设置实参,此时默认y=5
printf("sub函数计算结果=%d\n",sub(a));
return0;

/*
输出:
sub函数计算结果=10
sub函数计算结果=15
*/

以上就是c语言中缺省参数的两种类型,希望对大家有所帮助。更多C语言学习指路:C语言教程

发表回复