所以说这个课后作业的答案什么鬼是我太捞了么完全看不懂
https://xxx.ilovefishc.com/forum/201605/20/164324w8eee3ounxexv18z.png#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;
}
求解释一下 不就是交互两个变量的值吗,有什么看不懂的 同求!!!qwqqqq 就是一个交换值的代码啊
t是一个临时变量,剩下俩指针就
交换值就好了嘛 这就是进行值交换,用不用指针都一样,不知道你哪里不理解
我猜这个题目的原意应该不是进行值交换,而是指针交换。
#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;
} 通过指针的解引用来获得值,通过指针指向地址上的值进行交换,然后实现换值 3数排序呀,应该能理解
然后比较交换
页:
[1]