#include<stdio.h>
int i,str[20],N,*p;
int main()
{
void print(int *pl,int n);
void max_min_value(int *number,int n);
p=str;
printf("please input N:");
scanf("%d",&N);
printf("please input a string:");
for(i=0;i<N;i++)
{
scanf("%d",str[i]);
}
p=str;
max_min_value(p,N);
print(p,N);
printf("\n");
return 0;
}
void max_min_value(int *number,int n)
{
int temp;
for(i=0;i<n;i++)
{
if(*number>*(number+1))
{
temp=*number;
*number=*(number+1);
*(number+1)=temp;
}
number++;
}
for(i=n-1;i>=0;i--)
{
if(*number<*(number-1))
{
temp=*number;
*number=*(number-1);
*(number-1)=temp;
}
number--;
}
}
void print(int *pl,int n)
{
int i;
printf("output:\n");
for(i=0;i<n;i++,pl++)
{
printf("%d ",*pl);
}
}
在你的循环中间用 printf() 打印中间变量的值, 你就知道为何循环不出来了。