8.2.4 指针使用实例
在程序中可以使用指针来访问变量的值。本节将讲述一个指针使用实例,通过指针所指向的变量比较两个整数的大小,然后从小到大输出两个整数。
【范例8-4】通过指针所指向的变量比较整数的大小,实例代码如下所示。
实例代码8-4
- 01 #include <stdio.h>
- 02 int main()
- 03 {
- 04 int i ,j; /*定义两个整型变量。*/
- 05 int *p,*q,*temp; /*定义指向两个整型变量的指针变量。*/
- 06 printf("please input the first number: \n"); /*提示输入。*/
- 07 scanf("%d",&i); /*输入一个数值。*/
- 08 printf("please input the second number: \n") ;
- 09 scanf("%d",&j);
- 10 p=&i; /*取i的地址赋值给指针p。*/
- 11 q=&j; /*取j的地址赋值给指针q。*/
- 12 if(*p>*q) /*判断这两个指针指向值的大小。*/
- 13 { /*用一个中间指针变量交换两个指针。*/
- 14 temp=p;
- 15 p=q;
- 16 q=temp;
- 17 }
- 18 printf("%d %d\n",*p,*q); /*输出结果。*/
- 19 return 0;
- 20 }
【执行结果】输入下面的命令,编译这个程序。 - gcc 8.4.c
输入下面的命令,运行这个程序。- ./a.out
程序运行时,输出提示,这时输入一个变量5,然后按"Enter"键。然后再输入一个变量3,然后按"Enter"键。这时程序显示的结果如下所示。- 3 5
【代码解析】本程序是通过指针所指向的值来实现两个整数的排列的。通过比较指针所指向变量的大小,用一个中间指针变量交换两个指针变量的值。