输入3个整数,要求按由小到大的顺序输出。
解题思路: 先获取到三个变量的地址,然后获取三个数据,通过指针进行比较转换即可
答案:
#include <stdio.h>
void swap(int *p_a, int *p_b)
{
int temp = *p_a;
*p_a = *p_b;
*p_b = temp;
}
int main()
{
int a, b, c, *p_a = &a, *p_b = &b, *p_c = &c; // 获取每个变量空间的地址
printf("Please enter three numbers:");
scanf_s("%d%d%d", p_a, p_b, p_c);
if (*p_a > *p_b) {
swap(p_a, p_b);//通过指针进行指向空间内的数据交换
}
if (*p_a > *p_c) {
swap(p_a, p_c);
}
if (*p_b > *p_c) {
swap(p_b, p_c);
}
printf("%d %d %d
", *p_a, *p_b, *p_c);
system("pause");
return 0;
}