关于#c语言#的问题,请各位专家解答!

```c

#include <stdio.h>
int swap(int *p1, int *p2)
{ int p;
p=*p1;
*p1=*p2;
*p2=p;
}
main()
{ int a,b;
int *pointer_1,*pointer_2;
scanf("%d%d",&a,&b);
pointer_1=&a;
pointer_2=&b;
if(a<b)
swap(pointer_1,pointer_2);
printf("\n%d %d\n",a,b);
}

```为什么大一点的数就交换不了了,就比如32760 25469

只有a<b才交换,你的第一个数大于第二个数不会交换的,并不是大数的问题
有帮助的话采纳一下哦!

a < b才交换啊

-不是要判断a和b的大小吗,a<b才交换

img

代码没什么问题,交换是有条件的,if(a < b) swap() 才会执行,32760 25469 a > b ,不执行 swap()函数。


#include <stdio.h>
int swap(int* p1, int* p2)
{
    int p;
    p = *p1;
    *p1 = *p2;
    *p2 = p;
    return 0;
}
int main()
{
    int a, b;
    int* pointer_1, * pointer_2;
    scanf("%d%d", &a, &b);
    pointer_1 = &a;
    pointer_2 = &b;
    if (a > b)
        swap(pointer_1, pointer_2);
    printf("\n%d %d\n", a, b);
    return 0;
}