一个指针的小问题 求大神··
#include<stdio.h>void shuru(int *str1);
void chuli(int *str1);
void shuchu(int *str1);
void main()
{
int str[10];
shuru(str);
chuli(str);
shuchu(str);
}
void shuru(int *str1)
{
int i;
for(i=0;i<10;i++)
{
scanf("%d",str1++);
}
}
void chuli(int *str1)
{
int *p1,*p2,min,max,i;
p1=str1;
for(i=0;i<10;i++)
str1++;
p2=str1;
str1=p1;
max=*str1;
min=*str1;
for(i=0;i<10;i++)
{
str1++;
if(*str1>max)
{
max=*str1;
}
if(*str1<min)
{
min=*str1;
}
}
*p2=max;
*p1=min;
}
void shuchu(int *str1)
{
int i;
for(i=0;i<10;i++)
{
printf("%d",*str1++);
}
}
这个程序是实现一个数组里面 将最大的放在最后面 最小的放在最前面 然后输出数组 并且用了3个函数 但是第2个处理函数的时候传的是数组str的地址
用str1++的时候 调试显示整个组数的地址都在往前面移动很奇怪··明明是指针STR1指向了str 应该是指针自加 怎么会变成整个数组都在移动呢··