文中要注意加注释的地方,也是容易出错的地方!
#include <stdio.h>
void change(int *p1, int *p2);
void order(int *p1, int *p2,int *p3);
int main()
{
int a, b,c;
printf("Input number 1:\n");
scanf("%d",&a);
printf("Input number 2:\n");
scanf("%d",&b);
printf("Input number 3:\n");
scanf("%d",&c);
printf("a=%d, b=%d, c=%d\n",a,b,c);
order(&a,&b,&c);
printf("a=%d, b=%d, c=%d\n",a,b,c);
}
void change(int *p1, int *p2)
{
int temp;
if(*p1>*p2)
{
temp = *p1;
*p1 = *p2;
*p2 = temp;
}
}
void order(int *p1, int *p2, int *p3)
{
int temp;
if(*p1>*p2)
{
change(p1,p2); //直接p1,p2,不要带星号,p1,p2现在已经是指针变量了,此处易出错
}
if(*p1>*p3)
{
change(p1,p3); //直接p1,p3,不要带星号,p1,p2现在已经是指针变量了,此处易出错
}
if(*p2>*p3)
{
change(p2,p3); //直接p2,p3,不要带星号,p1,p2现在已经是指针变量了,此处易出错
}
}