问题6.3从键盘输入两个整数,按由大到小的顺序输出。 #include?”stdio.h” void mainO int*pl,*p2,a,b,t,/*定义整型指针变量与整型变量*/ scanf("%d%d",&a.&b); pl &a; /*使指针变量pl指向整型变量a*/ p2=&b; /*使指针变量p2指向整型变量b*/ if(*p1 <*p2) /*交换指针变量所指向的变量之值*/ t=*pl; *pl=*p2; *p2=t printf("%od,%d n",a,b); BACK
问题6.3 从键盘输入两个整数,按由大到小的顺序输出。 #include”stdio.h” void main() { int *p1, *p2, a, b, t; /*定义整型指针变量与整型变量*/ scanf("%d%d", &a, &b); p1 = &a; /*使指针变量p1指向整型变量a*/ p2 = &b; /*使指针变量p2指向整型变量b*/ if(*p1 < *p2) { /*交换指针变量所指向的变量之值*/ t = *p1; *p1 = *p2; *p2 = t; } printf("%d, %d\n", a, b); }
练一练 ◆用指针指向三个整型变量,按由小到大 的顺序输出。 BACK ◆
练一练 用指针指向三个整型变量,按由小到大 的顺序输出
6.1.3指针变量作为函数参数 函数的参数不仅可以使用整型、实型、 字符型等数据,也可以是指针类型。它 的作用是将一个变量的地址传送到另一 个函数中。 BACK
函数的参数不仅可以使用整型、实型、 字符型等数据,也可以是指针类型。它 的作用是将一个变量的地址传送到另一 个函数中。 6.1.3 指针变量作为函数参数
问题6.4 输入两个整数a、b,将两个整数交换输出。 程序一: void swap(int x,int y) int t; t-x, X-y; y=t; } main() int a,b; scanf(od%d",&a,&b): swap(a,b); printfod,%d n"a,b): BACK
问题6.4 输入两个整数a、b,将两个整数交换输出。 程序一: void swap(int x,int y) { int t; t=x; x=y; y=t; } main() { int a,b; scanf(“%d%d”,&a,&b); swap(a,b); printf(“%d,%d\n”,a,b); }
输出:5,6 6 a)调用函数开始 b)调用函数结束 图6.4值传递方式 【说明】 该程序采用“值传递”方式,变量作实参和形参,调用svap()函数时,实参a、b的 值5和6分别传递给形参x和y,运行svap()函数时将x和y的值交换,返回main()函 数,形参x和y所占的单元已被释放,并没有将值传递给实参变量,如图6.4所示。所以不 能通过调用swap()函数将a和b两个整数交换。 BACK