|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #include <stdio.h>
- int main(void)
- {
- int a, b, c, t;
- int *pa, *pb, *pc;
-
- printf("请输入三个数:");
- scanf("%d%d%d", &a, &b, &c);
-
- pa = &a;
- pb = &b;
- pc = &c;
-
- if (a > b)
- {
- t = *pa;
- *pa = *pb;
- *pb = t;
- }
-
- if (a > c)
- {
- t = *pa;
- *pa = *pc;
- *pc = t;
- }
-
- if (b > c)
- {
- t = *pb;
- *pb = *pc;
- *pc = t;
- }
-
- printf("%d <= %d <= %d\n", *pa, *pb, *pc);
- printf("%d <= %d <= %d\n", a, b, c);
-
- return 0;
- }
复制代码
求解释一下
这就是进行值交换,用不用指针都一样,不知道你哪里不理解
我猜这个题目的原意应该不是进行值交换,而是指针交换。
- #include <stdio.h>
- int main(void)
- {
- int a, b, c;
- int *pa, *pb, *pc,*p;
-
- printf("请输入三个数:");
- scanf("%d%d%d", &a, &b, &c);
-
- pa = &a;
- pb = &b;
- pc = &c;
-
- if (a > b)
- {
- p = pa;
- pa = pb;
- pb = p;
- }
-
- if (a > c)
- {
- p = pb;
- pb = pc;
- pc = p;
- }
-
- if (b > c)
- {
- p = pa;
- pa = pc;
- pc = p;
- }
-
- printf("%d <= %d <= %d\n", *pa, *pb, *pc);
- printf("a=%d, b=%d, c=%d\n", a, b, c);
-
- return 0;
- }
复制代码
|
|