C++基础---无返回值函数(void函数)

1. 无返回值函数(void函数)

1.1 void函数的定义

  • 不带返回值的return语句只能用于返回类型为void的函数。在返回类型为void的函数中,return返回语句不是必需的,隐式的return发生在函数的最后一个语句完成时。
  • 一般情况下,返回类型是void的函数使用return语句是为了引起函数的强制结束,这种return的用法类似于循环结构中的break语句的作用。

1.2 void函数的实例

  • 示例一:交换两个整型变量数值的函数

    
    #include <iostream>
    
    using namespace std; 
    
    void swap(int& a, int&b)
    {
        if(a == b)
        {
            return;//若两值相等,无需比较,即让函数停止运行
        }
        int temp;
        temp = a;
        a = b;
        b = temp;
    }
    
    int main() 
    {
        int a=3, b=4;
        cout<<"交换前a=3, b=4"<<endl;
        swap(a,b);
        cout<<"交换后a="<<a<<", b="<<b<<endl;
        system("pause");
        return 0; 
    }
    =>交换前a=3, b=4
      交换后a=4, b=3
    这个函数首先检查两个值是否相等,如果相等则退出函数;如果不相等,则交换这两个值,隐式的return发生在最后一个赋值语句后。
  • 示例二:void 的函数,可以返回另一个返回类型同样是void的函数的调用结果

    
    #include <iostream>
    
    using namespace std; 
    
    void do_swap(int &a, int &b)
    {
      int temp = a;
      a = b;
      b = temp;
    }
    
    void swap(int& a, int&b)
    {
        if(a == b)
        {
            //return false;//编译失败,提示"error C2562: “swap”:“void”函数返回值"
            return;//编译成功,不带返回值的return语句只能用于返回类型为void的函数
        }
        return do_swap(a, b);//编译成功,void 的函数,可以返回另一个返回类型同样是void的函数的调用结果 
    }
    
    int main() 
    {
        int a=3, b=4;
        cout<<"交换前a=3, b=4"<<endl;
        swap(a,b);
        cout<<"交换后a="<<a<<", b="<<b<<endl;
        system("pause");
        return 0; 
    }
    =>交换前a=3, b=4
      交换后a=4, b=3
    返回任何其他表达式的尝试都会导致编译时的错误。

参考文献:
[1]《C++全方位学习》范磊——第十三章
[2]《C++程序设计教程(第二版)》钱能——第五章、第六章、第七章
[3]《C++ Primer(第5版)》王刚 杨巨峰——第一章、第六章
[4] 百度搜索关键字:C++函数、void函数

  • 44
    点赞
  • 236
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值