还是不太懂哎
追答指针指向变量的内存 直接修改他的值 你在第一个if 那吧数值给改变了 等到了 第二个if 那就判断的不是以前的值了 而是 修改后的值 然后 在判断 这样来讲 是不是 就产生了;逻辑上的错误了
好比 1 2 3 初始的 值我们就是要判断转换他 现在 用指针 进行判断 1 3 2 变成了 在判断 旧的在这个基础上面 判断 而不是 1 2 3
要怎样做才对呢
追答#include
#define N 4
void sort(int * pArr, int len )
{
int i,j,t;
for( i = 0; i pArr[j+1] )//转换大于小于号 >表示升序 < 表示降序
{
t = pArr[j];
pArr[j] = pArr[j+1];
pArr[j+1] = t;
}
}
}
}
int main(void)
{
int a[4];
int i;
printf("输入 N 个数值:");
for( i = 0; i< N; i++)
{
scanf("%d", &a[i]);
}
sort(a, N );
for( i = 0; i < N; i++ )
{
printf("%d ",a[i] );
}
printf("\n");
return 0;
}