指针间接访问,没看明白

输入a和b两个整数,用指针的方式,按照先大后小的顺序输出a和b.

测试图:

img


代码如下:

#include <stdio.h>
int main()
 { 
   int *p1,*p2,*p,a,b;
   printf("请输入两个整数:");
   scanf("%d%d",&a,&b);                   // 输入两个整数
   p1=&a;                                  // 使p1指向变量a
   p2=&b;                                  // 使p2指向变量b 
   if(a<b)                                 // 如果a<b
   {
       p=p1;
       p1=p2;
       p2=p;                               // 使p1与p2的值互换
    }                             
   printf("a=%d,b=%d\n",a,b);              // 输出a,b
   printf("max=%d,min=%d\n",*p1,*p2);      // 输出p1和p2所指向的变量的值
   return 0;
}                  

如有帮助,还请帮忙点下采纳!感谢!


#include<stdio.h>
int main()
{
    int a,b,*p1,*p2;
    scanf_s("%d %d", &a,&b);
    p1 = &a;
    p2 = &b;
    if(*p1>*p2)
        printf("%d %d\n", *p1,*p2);
    else
        printf("%d %d\n", *p2, *p1);
    return 0;
}