您的位置:首页 > 编程语言 > C语言/C++

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

2015-09-04 16:43 381 查看

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函数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: