想采用不移动指针的方法改变指针的指向来进行数组元素的交换,但是这段代码运行之后没有结果返回值也是一堆数字不是0;想问问大家,这段代码错在哪里了,谢谢大家
#include <stdio.h>
int main() {
int a[4];
int i, max, min, t, j, k;
for (i = 0; i < 4; i++)
scanf("%d", &a[i]);
int *p, *q;
p = a;
q = a;
max = min = a[0];
for (i = 0; i < 4; i++) {
if (*(p + i) > max) {
max = *(p + i);
t = i;
}
}
for (i = 0; i < 4; i++) {
if (*(q + i) < min) {
min = *(q + i);
j = i;
}
}
k = *(p + t);
*(p + t) = *(p + j) ;
*(p + j) = k;
for (i = 0; i < 4; i++)
printf("%d", a[i]);
return 0;
}