例交换两数并输出 方法二: 得到多个返回值给主程序的方法 main() 1、在主调函数设置 int a,b; n个普通变量xl、x2、x3.和 int *pointer 1,*pointer 2; n个指针变量pl、p2、p3 int swap(int,int); 2、将n个指针变量指向这n个普 scanf("%d,%d",&a,&b); 通变量。pl=&xlp2=&x2; pointer_1=&a;pointer_2=&b; 3、将这n个指针变量作为实参 swap(pointer_1,pointer 2); ,将其地址传递给所调用的自 printf("\n%od,%d n",a,b); 定义函数的形参。 4、在自定义函数中,设置n个 swap(int *p1,int *p2) 指针变量作形参,用来接受由 int t; 主调函数传递来的n个地址,通 t=*pl; 过改变自定义函数中的形参指 *pl=*p2; 针变量所指向的内存单元的值 *p2=t; ,来改变主调函数中变量x1、 x2、x3.的值
main() { int a,b; int *pointer_1,*pointer_2; int swap(int,int); scanf("%d,%d",&a,&b); pointer_1=&a; pointer_2=&b; swap(pointer_1,pointer_2); printf("\n%d,%d\n",a,b); } swap(int *p1, int *p2) { int t; t=*p1; *p1=*p2; *p2=t; } 例 交换两数并输出 方法二: 1、在主调函数设置 n个普通变量x1、x2、x3.和 n个指针变量p1、p2、p3. 2、将n个指针变量指向这n个普 通变量。p1=&x1;p2=&x2; . 3、将这n个指针变量作为实参 ,将其地址传递给所调用的自 定义函数的形参。 4、在自定义函数中,设置n个 指针变量作形参,用来接受由 主调函数传递来的n个地址,通 过改变自定义函数中的形参指 针变量所指向的内存单元的值 ,来改变主调函数中变量x1、 x2、x3.的值。 得到多个返回值给主程序的方法
10.2数组名作函数参数 #include <stdio.h 例 数组元素与数组名 void swap2(int x,int y) 作函数参数比较 int z; Z-X, X-y; y=z, 值传递 mainO) {inta[2]={1,2}; swap2(a[0],a[1]); printf("a[O]=%d\na[1]=%d\n",a[o],a[1]); a a a[O] 1 a[0] 2 1 a[1] 2 a[1] 2 2 2 调用前 调用 返回 交换
例 数组元素与 数组名 作函数参数比较 1 2 a 调用前 a[0] a[1] 1 2 a 调用 a[0] a[1] 1 2 x y 2 1 x y 交换 1 2 a 返回 #include <stdio.h> void swap2(int x,int y) { int z; z=x; x=y; y=z; } main() { int a[2]={1,2}; swap2(a[0],a[1]); printf("a[0]=%d\na[1]=%d\n",a[0],a[1]); } 值传递 10.2 数组名作函数参数