[案例9.4输入3个整数,按降序(从大到小的顺序)输出。要求使 用变量的指针作函数调用的实参来实现。 /*案例代码文件名:AL94.C*/ /*米**米**米**米***米**米******米**米******米**米*米*米**米**米******/ /*exchange(0功能:交换2个形参指针变量所指向的变量的值*/ /*形参:2个,均为指向整型数据的指针变量 */ /*返回值:无 */ /*************************************************米米***/ void exchange(int *pointer1,int *pointer2) int temp; temp=*pointer1,*pointer1=*pointer2,*pointer2=temp;
[案例9.4] 输入3个整数,按降序(从大到小的顺序)输出。要求使 用变量的指针作函数调用的实参来实现。 /*案例代码文件名:AL9_4.C*/ /******************************************************/ /*exchange()功能:交换2个形参指针变量所指向的变量的值 */ /*形参:2个,均为指向整型数据的指针变量 */ /*返回值:无 */ /******************************************************/ void exchange(int *pointer1, int *pointer2) { int temp; temp=*pointer1, *pointer1=*pointer2, *pointer2=temp; }
/*主函数main0*/ main() int numl,num2,num3; /*从键盘上输入3个整数*/ printf("Input the first number:")scanf"%d",&num1); printf(Input the second number:")scanf%d",&num2); printf("Input the third number:")scanf(%d",&num3); printf("numl=%d,num2=%d,num3=%d\n",numl,num2,num3); /*排序*/ if(numl num2) /*num1<num2*/ exchange(&num1,&num2 ) if(numl num3)exchange(&num1,&num3 ) if(num2 num3 )exchange(&num2,&num3 ) /*输出排序结果*/ printf排序结果:%d,%d,%dn”',numl,num2,num3)方 [程序演示]
/*主函数main()*/ main() { int num1,num2,num3; /*从键盘上输入3个整数*/ printf(“Input the first number: ”); scanf(“%d”, &num1); printf(“Input the second number: ”); scanf(“%d”, &num2); printf(“Input the third number: ”); scanf(“%d”, &num3); printf(“num1=%d,num2=%d, num3=%d\n”, num1, num2, num3); /*排序*/ if( num1 < num2 ) /*num1<num2*/ exchange( &num1, &num2 ); if( num1 < num3 ) exchange( &num1, &num3 ); if( num2 < num3 ) exchange( &num2, &num3 ); /*输出排序结果*/ printf(“排序结果:%d, %d, %d\n”,num1,num2,num3); } [程序演示]
程序运行情况: Input the first number:9 Input the second number:6 Input the third number:12 num1=9,num2=6,num3=12 排序结果:12,9,6 [Return]
程序运行情况: Input the first number:9←┘ Input the second number:6←┘ Input the third number:12←┘ num1=9, num2=6, num3=12 排序结果: 12, 9, 6 [Return]
9.3数组的指针和指向数组的指针变量 9.3.1概述 1.概念 数组的指针一数组在内存中的起始地址,数组元素 的指针一数组元素在内存中的起始地址。 2.指向数组的指针变量的定义 指向数组的指针变量的定义,与指向普通变量的指针 变量的定义方法一样。 例如,int array[lO],*pointer=-array(或&carray[O]); 或者 int array[10],*pointer; pointer-array; 注意:数组名代表数组在内存中的起始地址(与第1 个元素的地址相同),所以可以用数组名给指针变量赋值
9.3 数组的指针和指向数组的指针变量 9.3.1 概述 1.概念 数组的指针──数组在内存中的起始地址,数组元素 的指针──数组元素在内存中的起始地址。 2.指向数组的指针变量的定义 指向数组的指针变量的定义,与指向普通变量的指针 变量的定义方法一样。 例如,int array[10], *pointer=array(或&array[0]); 或者: int array[10], *pointer; pointer=array; 注意:数组名代表数组在内存中的起始地址(与第1 个元素的地址相同),所以可以用数组名给指针变量赋值