c语言中两个值的排序,指针在函数间的传递。
c语言中两个值的排序,指针在函数间的传递。
1、
#include <stdio.h> void sap(int *x, int *y) { int tmp; tmp = *x; *x = *y; *y = tmp; } void sort2(int *n1, int *n2) // n1和n2为指针变量,接收实参&a和&b后成为指向a和b的指针, { if(*n1 > *n2) sap(n1, n2); //n1和n2前面不能使用指针运算符&,因为sap函数的形参为指针变量,需要指针作为参数,因此使用n1和n2指针即可,指针x、n1共同指向a,指针y、n2共同指向b。 } int main(void) { int a, b; puts("please input two integers."); printf("a = "); scanf("%d", &a); printf("b = "); scanf("%d", &b); sort2(&a, &b); printf("\na = %d\n", a); printf("b = %d\n", b); return 0; }