大家好,经过昨天对指针的学习,我们已经对指针有了初步认识,
现在我们就用一个实例,来加深对指针的了解。
例:用函数实现两个整数a和b的交换
对于我们来说实现两数交换是很容易的,利用一个中间变量temp,就能实现a,b的交换
有了思路我们就要开始实践,实践才是检验真理的唯一标准嘛!
开整!
#include<iostream>
using namespace std;
void swap(int a,int b){
int temp;
temp=a;
a=b;
b=temp;
}
int main(){
int a,b;
cout<<"请输入a的值为 :";
cin>>a;
cout<<"请输入b的值为 :";
cin>>b;
cout<<"交换前a和b的值为:"<<endl;
cout<<"a = "<<a<<endl;
cout<<"b = "<<b<<endl;
swap(a,b);
cout<<"交换后a和b的值为:"<<endl;
cout<<"a = "<<a<<endl;
cout<<"b = "<<b<<endl;
}
让我们看看胜利的果实吧!嘿嘿
啊啊啊啊为什么是这样,怎么不能交换啊(╯‵□′)╯炸弹!•••*~●
我学着一休哥,咯叽咯叽咯叽咯叽咯叽……
突然我想起来,我们专题第一篇文章说过,函数里的变量就是梦境里的东西,一旦调用结束(离开梦境),
那么梦境中的东西(局部变量)就会消失。你还记得吗,我可是给了解决方案的。好吧,你忘记了ヽ(゜▽゜ )-C<(/;◇;)/~
那我就再说一遍叭,那就是Magic魔法——指针!
也就是将现实中的东西带到梦境里改变,只是换了个时空罢了(暂且允许我这么说),改变的还是现实生活中的东西。
实践开始!呕吼!!!
#include<iostream>
using namespace std;
void swap(int *a,int *b){
int temp;
temp=*a;
*a=*b;
*b=temp;
}
int main(){
int a,b;
cout<<"请输入a的值为 :";
cin>>a;
cout<<"请输入b的值为 :";
cin>>b;
cout<<"交换前a和b的值为:"<<endl;
cout<<"a = "<<a<<endl;
cout<<"b = "<<b<<endl;
swap(&a,&b);
cout<<"交换后a和b的值为:"<<endl;
cout<<"a = "<<a<<endl;
cout<<"b = "<<b<<endl;
}
嘿嘿这次很成功欸ヾ(≧▽≦*)o! prefect!
这次的课就上到这里,"学霸题,头顶标数法,……,你学会了吗"怪我又想起了这个老梗,真的有趣,
那么 你们学会了吗?!