又来写代码了
作为一个老司机
你给我两个变量
让我交换内容
我已经有四种方法了
强不强
诶~真的骚
是时候展现真正的技术了
将整型变量的值进行交换一共有四种方法
1、主函数法
通过定义一个新的变量,将a的值先传给新变量tmp,然后将b的值给a,再将tmp中原来的a的值传给b
代码如下:
#include<stdio.h>
int main()
{
int a,b,temp;
printf("请输入两个整数:");
scanf("%d%d",&a,&b);
temp=a;
a=b;
b=temp;
printf("a=%d\nb=%d\n",a,b);
return 0;
}
2、传指针法
值的传递不能达到目的,传递指针更符合计算机的原理
代码如下:
#include<stdio.h>
void swap(int *pa,int *pb)//定义函数swap
{
int tmp = *pa;
*pa = *pb;
*pb = tmp;
}
int main()
{
int a = 10;
int b = 20;
swap(&a, &b);
printf("a = %d\n", a);
printf("b = %d\n", b);
return 0;
}
int *pa=&a,可分解成: int *pa; pa = &a;//把a的地址赋给pa 这样pa这个指针就指向了变量a的地址; * 是一个解引用符,在这里,*pa就是指针pa所指向的内存当中存储的变量;也就是说这时*pa与a是等价的。 pb与b的关系也是一样的;
3、交换法
#include<stdio.h>
int main()
{
int a,b;
printf("请输入两个整数:");
scanf("%d%d",&a,&b);
a=a-b;
b=a+b;
a=b-a;//交换
printf("a=%d\nb=%d\n",a,b);
return 0;
4、引用指针
代码如下:
#include<stdio.h>
void swap(int &a, int &b)
{
int tmp = a;
a = b;
b = tmp;
}
int main()
{
int a = 10;
int b = 20;
swap(a, b);
printf("a = %d\n", a);
printf("b = %d\n", b);
return 0;
}
真的骚
引用指针的第四种方法有点问题 有没有大神给解答一下
显示swap不是个函数???
wtf???
我心好累
我想睡觉觉
诶~
说说骚话
反正也没人给我解答