输入3个数a,b,c,按大小顺序输出.利用指针方法.#include "stdio.h"int swap(int x,int y);main(){\x05int a,b,c;\x05int *p1,*p2,*p3;\x05printf("请输入3个数,本程序将从小到大排列");\x05scanf("%d%d%d",&a,&b,&c);\x05p1=&a;\x05p2=&
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/15 23:38:12
输入3个数a,b,c,按大小顺序输出.利用指针方法.#include "stdio.h"int swap(int x,int y);main(){\x05int a,b,c;\x05int *p1,*p2,*p3;\x05printf("请输入3个数,本程序将从小到大排列");\x05scanf("%d%d%d",&a,&b,&c);\x05p1=&a;\x05p2=&
输入3个数a,b,c,按大小顺序输出.利用指针方法.
#include "stdio.h"
int swap(int x,int y);
main()
{
\x05int a,b,c;
\x05int *p1,*p2,*p3;
\x05printf("请输入3个数,本程序将从小到大排列");
\x05scanf("%d%d%d",&a,&b,&c);
\x05p1=&a;
\x05p2=&b;
\x05p3=&c;
\x05if(a>b)
\x05\x05swap(p1,p2);
\x05if(a>c)
\x05\x05swap(p1,p3);
\x05if(b>c)
\x05\x05swap(p2,p3);
\x05printf("%d%d%d",a,b,c);
\x05return 0;
}
int swap(int x,int y)
{
\x05int *x,*y;
\x05int p;
\x05p=*x;
\x05*x=*y;
\x05*y=p;
}
请问哈我这个哪里错了啊~
输入3个数a,b,c,按大小顺序输出.利用指针方法.#include "stdio.h"int swap(int x,int y);main(){\x05int a,b,c;\x05int *p1,*p2,*p3;\x05printf("请输入3个数,本程序将从小到大排列");\x05scanf("%d%d%d",&a,&b,&c);\x05p1=&a;\x05p2=&
首先,swap()函数里得形参应为指向整型指针而且没有返回值,即定义为void swap(int *,int *)
其次,swap()函数中,两指针交换地址是借助int p;p=*x; *x=*y; *y=p;
三是,scanf()里三个参数输入时,最好有空格,以方便输入;
完整代码如下;
#include "stdio.h"
void swap(int *,int *);
main()
{
\x09int a,b,c;
\x09int *p1,*p2,*p3;
\x09printf("请输入3个数,本程序将从小到大排列:");
\x09scanf("%d %d %d",&a,&b,&c);
\x09p1=&a;
\x09p2=&b;
\x09p3=&c;
\x09if(a>b)
\x09\x09swap(p1,p2);
\x09if(a>c)
\x09\x09swap(p1,p3);
\x09if(b>c)
\x09\x09swap(p2,p3);
\x09printf("%d %d %d\n",a,b,c);
\x09return 0;
}
void swap(int *x,int *y)
{
\x09int p;
\x09p=*x;
\x09*x=*y;
\x09*y=p;
}