代入了几个值试了一下,好像除了10以外都可以,这什么原理
<= number,这个越界了,下标最大 number - 1
不知道你这个问题是否已经解决, 如果还没有解决的话:代码如下:
#include"pch.h"
#include<stdio.h>
void SWAP(int*p1, int*p2);
int main()
{
int a[10];
for (int i = 0; i < 10; i++)
{
scanf_s("%d", &a[i]);
}
int*min = &a[0];
int*max = &a[0];
for (int i = 0; i < 10; i++)
{
if (a[i]>*max)
{
max = &a[i];
}
if (a[i]<*min)
{
min = &a[i];
}
}
printf("%d %d\n", *min, *max);
printf("交换前地址%p,%p\n", min, max);
SWAP(min,max);
return 0;
}
void SWAP(int*p1,int*p2)
{
int*temp;
temp = p2;
p2 = p1;
p1 = temp;
printf("%d %d\n", *p1, *p2);
printf("交换后地址%p,%p\n",p1, p2);
}
结果如下: