[案例9.4]输入3个整数,按降序(从大到小的顺序)输出。要求使 用变量的指针作函数调用的实参来实现 /*案例代码文件名:AL94C* 水水*水水*水水*水*水水*水水客*水水水*水*水水*水水水*水**水水**水*水水*水水水*水水*水水* /* exchange功能:交换2个形参指针变量所指向的变量的值* /*形参:2个,均为指向整型数据的指针变量 /*返回值:无 **************************************************/ void exchange(int pointer, int*pointer 2) Int tem temp=*pointer l, pointer]=*pointer2, "pointer 2=temp
[案例9.4] 输入3个整数,按降序(从大到小的顺序)输出。要求使 用变量的指针作函数调用的实参来实现。 /*案例代码文件名:AL9_4.C*/ /******************************************************/ /*exchange()功能:交换2个形参指针变量所指向的变量的值 */ /*形参:2个,均为指向整型数据的指针变量 */ /*返回值:无 */ /******************************************************/ void exchange(int *pointer1, int *pointer2) { int temp; temp=*pointer1, *pointer1=*pointer2, *pointer2=temp; }
/*主函数 mainO*/ maino i int numl, num2, num3 /*从键盘上输入3个整数* printf(" Input the first number: ) scanf(%d',&num1) printf( Input the second number: ) scanf(%od",&num2 printf( Input the third number: ) scanf(%/od,&num3) printf( numl=%d, num2=%d, num3=%dn,numl, num2, num3) /*排序*/ if( numl< num2 /*num1<num2*/ exchange( &numl, &num2 if( numl num3 )exchange( &numl, &num3) if( num2< num3 )exchange( &num2, &num3) /*输出排序结果* print(“排序结果:%d,%d,%dn”,numl,num2num3); 「程序演示
/*主函数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.J Input the second number: 6 Input the third number: 12+ num1=9. num2=6. num 3=12 排序结果:12,9,6 ReturnI
程序运行情况: 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]
93数组的指针和指向数组的指针变量 931概述 1.概念 数组的指针—数组在内存中的起始地址,数组元素 的指针—数组元素在内存中的起始地址。 2指向数组的指针变量的定义 指向数组的指针变量的定义,与指向普通变量的指针 变量的定义方法一样 例如, Int array[10],* pointer-array(或&aray[0]) 或者: int array[101*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 个元素的地址相同),所以可以用数组名给指针变量赋值