本期带领大家复习C++函数与指针部分的知识,非常重要!
具体内容见代码注释:
#include <iostream>
using namespace std;
double add(double x1,double x2)
//函数类型需要和返回值类型一致
//参数类型可以与返回值不一致,但必须保证函数内部的运算符合类型见运算的语法
{
double y=0;
y=x1+x2;
return y;
//返回的类型与函数类型一致
}
void sub(double x1,double x2)
{
//不同函数之间的形参可以同名
double y=0;
y=x1-x2;
cout<<"结果是:"<<y<<endl;
//空类型不需要返回值
}
//函数有无参数,与函数有无返回值,是两个独立事件,互不影响,所以共有4种可能组成的函数。
int max(int *x1,int *x2)
{
if((*x1)<(*x2))
return *x2;
else if((*x1)>(*x2))
return *x1;
else
return 0;
}
//该函数为采用值传递的函数
//地址传递在使用过程中可以改变实参的值根据实际情况作出选择。
int main(int argc, char** argv)
{
double m=0,n=0;
cout<<"请输入两个需要相加的数:"<<endl;
cin>>m>>n;
cout<<"结果是:"<<add(m,n)<<endl;
//直接调用函数,多个参数之间用逗号分开,运行结果为函数的返回值。
cout<<"请输入两个需要相减的数:"<<endl;
sub(m,n);
//此处sub函数的返回类型为空 ,如果函数本身没有输出语句,此处不会在终端输出任何内容
int a=1,b=2,c=3;
float d=3.18;
int *p1=&a,*p2=&b,*p3=&c;
//注意:int*是变量类型,即整形指针,p1才是变量名
float *p4=&d;
//通常情况下,指针类型和变量类型一致
cout<<"d变量的地址是:"<<p4<<endl;
//指针变量用来存放另一个变量的地址
cout<<"d变量的地址是:"<<(*p4)<<endl;
//“*”的功能是解引用,即指针指向地址元素的值。
cout<<"d变量的地址是:"<<(&d)<<endl;
//p4=&d,*p4=d,这是重点!
//&是取地址符,*是解地址符,指针部分的知识比较抽象,一定不要混淆。
cout<<"a,b中较大者是:"<<max(p1,p2)<<endl;
return 0;
}