[案例6.4]输入3个整数,按降序(从大到小的顺序)输出。要求使 用变量的指针作函数调用的实参来实现 *案例代码文件名:AL64C* 水*水半*水半*水**水半半水*水水半**水*水半*水水水水水**水半水水水*水*半水半水水水半水* /* exchange(功能:交换2个形参指针变量所指向的变量的值* /*形参:2个,均为指向整型数据的指针变量 /*返回值:无 *水***水*水*水*水*水*水***水水**水*水水*水水*水水**水**********水**水**水* void exchange(int pointer, int*pointer 2) i int temp temp=*pointerl, "pointer l=pointer 2, "pointer 2=temp 顶
上一页 返回本章首页 下一页 [案例6.4] 输入3个整数,按降序(从大到小的顺序)输出。要求使 用变量的指针作函数调用的实参来实现。 /*案例代码文件名:AL6_4.C*/ /******************************************************/ /*exchange()功能:交换2个形参指针变量所指向的变量的值 */ /*形参:2个,均为指向整型数据的指针变量 */ /*返回值:无 */ /******************************************************/ void exchange(int *pointer1, int *pointer2) { int temp; temp=*pointer1, *pointer1=*pointer2, *pointer2=temp; }
/*主函数main()* mainO i int numl, num2, numb /*从键盘上输入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(" num1=%od, num2=%d, num3-=%dn", numl, num2, num3) /*排序* if( numl< num2 /*num1<num2* exchange(&numl, &num2) if( numl num)exchange( &numl, &num3) if( num2< numb)exchange( &num2, &num3) /*输出排序结果* print(“排序结果:%d,%d,%dln”,num1,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: 6< Input the second number: 6+ Input the third number: 12 num1=6. num2=6. num3=12 排序结果:12,6,6 顶
上一页 返回本章首页 下一页 程序运行情况: Input the first number:6←┘ Input the second number:6←┘ Input the third number:12←┘ num1=6, num2=6, num3=12 排序结果: 12, 6, 6
6.3数组的指针和指向数组的指针变量 63.1概述 1.概念 数组的指针—数组在内存中的起始地址,数组元素 的指针—数组元素在内存中的起始地址。 2指向数组的指针变量的定义 指向数组的指针变量的定义,与指向普通变量的指针 变量的定义方法一样 例如, Int array[10],* pointer=aray(或&aray[0]) 或者: int array[,*pointer pointer=array 注意:数组名代表数组在内存中的起始地址与第1 个元素的地址相同),所以可以用数组名给指针值
上一页 返回本章首页 下一页 6.3 数组的指针和指向数组的指针变量 6.3.1 概述 1.概念 数组的指针──数组在内存中的起始地址,数组元素 的指针──数组元素在内存中的起始地址。 2.指向数组的指针变量的定义 指向数组的指针变量的定义,与指向普通变量的指针 变量的定义方法一样。 例如,int array[10], *pointer=array(或&array[0]); 或者: int array[10], *pointer; pointer=array; 注意:数组名代表数组在内存中的起始地址(与第1 个元素的地址相同),所以可以用数组名给指针变量赋值