二十一天学通C语言:C语言中指针排序
本文节选自《21天学通C语言》一书
使用指针从标准输入获取三个整数,并求其中的最大值。
【提示】使用三个指针变量分别指向三个int型变量,使用scanf函数分别为其赋值;然后比较各个指针指向的值,将第一个指针赋值为最大值的地址。实现方法如示例代码14-8所示。
示例代码14-8
01 #include <stdio.h>
02
03 int main(void) {
04 int a, b, c;
05 /* 定义并初始化三个指针 */
06 int *p1 = &a; /* 定义并初始化p1 */
07 int *p2 = &b; /* 定义并初始化p2 */
08 int *p3 = &c; /* 定义并初始化p3 */
09
10 /* 输入要比较的几个整数 */
11 scanf("%d %d %d", p1, p2, p3); /* 为p1,p2,p3指向的空间赋值 */
12
13 if (*p1 < *p2) /* 比较p1和p2指向的内容 */
14 p1 = p2;
15 if (*p1 < *p3) /* 比较p1和p3指向的内容 */
16 p1 = p3;
17
18 /* 输出最大的整数 */
19 printf("Max. is %d/n", *p1); /* 输出结果 */
20
21 return 0;
22 }
【运行结果】程序运行后,结果如图14-13所示。