对输入的两个整数按大小顺序输出,求助求助,急
#include <stdio.h>int *p1, *p2;
void jiaohuan(int m, int n);
int main()
{
int a, b;
printf("请输入\n");
scanf("%d %d", &a, &b);
jiaohuan(a,b);
printf("a = %d, b= %d\n",a, b);
printf("max = %d, min = %d\n",*p1, *p2);
}
void jiaohuan(int m, int n)
{
int p;
p1 = &m;
p2 = &n;
if(m < n)
{
p = *p1;
p1 = *p2;
*p2 = p;
}
}
对输入的两个整数按大小顺序输出,大神这样写为什么最大值和最小值不显示呀
谢谢
void jiaohuan(int m, int n)
这样是交换不了的,传值和传地址的区别是常识。
void jiaohuan(int *m, int *n) 首先,函数的参数m, n都是传入参数的副本,取址也只是取副本的地址。
而且函数内定义的局部变量是不能在别的地方访问的..
页:
[1]