Tsukinai的第二十五个程序
输入3个数x,y,z,按从小到大顺序排序后输出。
要求:利用指针方法实现两数互换,函数原型为:void swap(int *p1,int *p2);
输入提示:printf(“please input 3 number x,y,z”);
输入格式:"%d,%d,%d"
输出格式:printf(“the sorted numbers are:%d,%d,%d\n”, );
#include <stdio.h>
void swap(int *p1,int *p2)
{
int t;
if(*p1>*p2)
{
t = *p1;
*p1 = *p2;
*p2 = t;
}
}
int main()
{
int a,b,c;
printf("please input 3 number x,y,z\n");
scanf("%d,%d,%d",&a,&b,&c);
swap(&a,&b);
swap(&b,&c);
swap(&a,&b);
printf("the sorted numbers are:%d,%d,%d\n",a,b,c);
return 0;
}
进入了指针章节,萌新非常懵逼,傻傻分不清,这里分享一下自己遇到的坑
- int *p1定义了指针,指针是p1不是 *p1
- &a是指针
- 指针是门牌号 即p1是地址,*p1解引用后才是地址里储存的变量