2016年7月10日18:10:23
编写一个函数,求两个整数中的较大者和较小者,要求用地址传递实现;
分析:可以定义两个变量a,b保存用户输入的值,然后通过程序的处理使得a保存
两个中较大的哪个,b保存较小的那个.
总结:在C语言中,在函数调用的过程中,如果需要在被调函数中修改主调函数中实参的值,
1.则必须发送主调函数中实参的地址,否则无法修改,修改的只是被调函数中形参的值,而形参和实参是不同的变量;
2.被调函数的形参必须是指针变量,用来保存主调函数中实参的地址;
3,通过修改被调函数中*p和*q的值来达到修改主调函数中实参的值,因为他们是内存中同一块空间
//交换*pA和*pB的值
void swep(int * pA,int * pB)
{
int t;
t = *pA;
*pA = *pB;
*pB = t;
return;
}
int main(void)
{
int a;
int b;
printf("请输入两个整数:\n");
scanf("%d%d",&a,&b);
if(a<b)
swep(&a,&b);
printf("两个数%d和%d中较大者为%d,较小者%d\n",a,b,a,b);
return 0;
}