扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
return后接一个值。
10年的岳麓网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。网络营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整岳麓建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联公司从事“岳麓网站设计”,“岳麓网站推广”以来,每个客户项目都认真落实执行。
在调用这个函数的函数里面,调用它的时候希望获得一个值,如果不希望获得这个值的时候,用void声明就好。如果需要,比如说需要得到一个整形值
就声明
int func()
在调用它的比如main里面
func()的作用就可以相当于一个int型常数
比如外面定义了
int max(int a,int b)
{
return ab?a:b;
}
主函数里面是
main()
{
int A;
A=max(1,2);
}
这时候就是通过max计算 12 则return 一个1 ,12 则return一个2。很明显12 所以这里max(1,2)就会return 一个 2
这时候主函数里的max(1,2)就相当于一个常数 2
A=max(1,2)的作用就相当于A=2
这个意思。
楼下真牛逼,恐怕是怪兽大学毕业的吧。
推荐做法
把函数声明写成这样int func(int* ret1,int* ret2)
这样就可以用ret1和ret2来返回信息了,事实上,scanf函数就是这样的一个例子。
方案二呢,可以将多个返回值打成一个结构体,然后作处理,其实这种方式不怎么好,因为结构里的两个变量很可能没什么联系,而你却把他们打包在一起。其实,等你学得好了,你会发现其实还有很多方法都可以达到目的,因为c语言就是如此强大而灵活。最后,警告一下不要用 return a,b之类的语句。因为a,b会被解释为一个逗号表达式,它最终的值就是b的值,所以return a,b;就等同于return b;
函数参数和
返回值
三种传递方式:值传递、指针传递和引用传递
引用与指针的比较
引用是
C++中的概念,初学者容易把引用和指针混淆一起。一下程序中,n
是m
的一个引用(
reference
),m
是被引用物(referent)。
int
m;
int
n
=
m;
n
相当于m
的别名(绰号),对n
的任何操作就是对m
的操作。所以n
既不是m
的拷贝,也不是指向m
的指针,其实n
就是m
它自己。
C++语言
中,函数的参数和返回值的传递方式有三种:值传递、指针传递和引用传递。
以下是“值传递”的示例程序。由于Func1
函数体内的x
是
外部变量
n
的一份拷贝,改变x
的值不会影响n,
所以n
的值仍然是0。
void
Func1(int
x)
{
x
=
x
+
10;
}
int
n
=
0;
Func1(n);
cout
“n
=
”
n
endl;
//
n
=
以下是“指针传递”的示例程序。由于Func2
函数体内的x
是指向外部变量n
的指针,改变该指针的内容将导致n的值改变,所以n
的值成为10。
void
Func2(int
*x)
{
(*
x)
=
(*
x)
+
10;
}
int
n
=
0;
Func2(n);
cout
“n
=
”
n
endl;
//
n
=
10
以下是“引用传递”的示例程序。由于Func3
函数体内的x
是外部变量n
的引用,x
和n
是同一个东西,改变x
等于改变n,所以n
的值成为10。
void
Func3(int
x)
{
x
=
x
+
10;
}
int
n
=
0;
Func3(n);
cout
“n
=
”
n
endl;
//
n
=
10
对比上述三个示例程序,会发现“引用传递”的性质象“指针传递”,而书写方式象“值传递”。实际上“引用”可以做的任何事情“指针”也都能够做,为什么还要“引用”这东西?
答案是“用适当的工具做恰如其分的工作”。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流