#include <stdio.h>
void ChangeData(int *pdata_1,int *pdata_2)
{
int temp;
temp=*pdata_1;
*pdata_1=*pdata_2;
*pdata_2=temp;
}
int main()
{
int data_1=10;
int data_2=20;
printf("交换前的数据是:data_1=%d,data_2=%d",data_1,data_2);
ChangeData(&data_1,&data2);
printf("交换后的数据是:data_1=%d,data_2=%d",data_1,data_2);
}
运行
D:\Cyuyan\Address>gcc Addresss_demo.c
D:\Cyuyan\Address>a.exe
why point?
交换前的数据是:data_1=10,data_2=20
交换后的数据是:data_1=20,data_2=10
输入三个数,不管怎么输入,输出的时候,都是由大到小输出
#include <stdio.h>
void ChangeData(int *pdata_1,int *pdata_2,int *pdata_3)
{
int max;
if(*pdata_1<=*pdata_2){
max=*pdata_2;
*pdata_2=*pdata_1;
*pdata_1=max;
}
if(*pdata_1<=*pdata_3){
max=*pdata_3;
*pdata_3=*pdata_1;
*pdata_1=max;
}
if(*pdata_2<=*pdata_3){
max=*pdata_3;
*pdata_3=*pdata2;
*pdata_2=max;
}
}
int main()
{
int data_1;
int data_2;
int data_3;
printf("请输入三个数:\n");
scanf("%d%d%d",&data_1,&data_2,&data_3);
ChangeData(&data_1,&data_2,&data_3);
printf("输出的三个数是:data_1=%d,data_2=%d,data_3=%d",data_1,data_2,data_3);
}
运行
D:\Cyuyan\Address>gcc Addresss_demo.c
D:\Cyuyan\Address>a.exe
请输入三个数:
43
23
99
data_1=99,data_2=43,data_3=43
D:\Cyuyan\Address>a.exe
请输入三个数:
99
1000
213
data_1=1000,data_2=213,data_3=213