我是靠谱客的博主 精明人生,最近开发中收集的这篇文章主要介绍c语言中缺省参数的类型总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

#include <stdio.h>
//x,y为函数的形参,如果函数被调用时,没有设置x和y值,x值默认为100,y值默认为5
int sub(int x=100,int y=5)
{
    return (x-y);
}
int main(void)
{
    int a=20;
    int b=10;
    //变量a、b为sub函数的实参
    printf("sub函数计算结果 = %dn",sub(a, b));
    //注意:我们并没有为sub函数设置实参,此时默认x=100 y=5
    printf("sub函数计算结果 = %dn",sub());
    return 0;
}
/*
输出:
sub函数计算结果 = 10
sub函数计算结果 = 95
*/

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

#include <stdio.h>
//x,y为函数的形参,如果函数被调用时,没有设置y值,y值默认为5
 
int sub(int x,int y=5)
{
    return (x-y);
}
int main(void)
{
    int a=20;
    int b=10;
    //变量a、b为sub函数的实参
    printf("sub函数计算结果 = %dn",sub(a, b));
    //注意:我们并没有为sub函数第二个参数设置实参,此时默认y=5
    printf("sub函数计算结果 = %dn",sub(a));
    return 0;
}
/*
输出:
sub函数计算结果 = 10
sub函数计算结果 = 15
*/

知识点扩充:

1)半缺省参数 必须 从右向左 依此 给出,不能间隔着给。原因:函数调用时,需要将参数压栈,参数压栈是 从右向左 依次 压栈,若缺省参数间隔着给,则 将会出现 问题

2)缺省参数 不能在 函数声明 和 定义中 同时 出现,尽量在声明中给出。原因:如果 缺省参数 的 声明和定义 位置同时存在,恰巧两个位置提供的值不同,编译器将 无法判断到底 该使用 哪一个。

3)缺省值 必须 是 常量 或者全局变量。

4) C语言不支持 (编译器不支持)

到此这篇关于c语言中缺省参数的类型总结的文章就介绍到这了,更多相关c语言中缺省参数的两种类型内容请搜索靠谱客以前的文章或继续浏览下面的相关文章希望大家以后多多支持靠谱客!

最后

以上就是精明人生为你收集整理的c语言中缺省参数的类型总结的全部内容,希望文章能够帮你解决c语言中缺省参数的类型总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(99)

评论列表共有 0 条评论

立即
投稿
返回
顶部