申し訳ありませんが、別のCポインタの質問です。配列を並べ替えて最大と最小の整数を取得する関数func()があります。それらをmain()のポインター変数内に配置しようとしていますが、値はfunc()関数内でのみ正しいです。理由がわかりません:(
#include <stdio.h>
void func(int arr[], int *s, int *l, int n){
int i = 1;
for(; i < n; i++){
int temp = arr[i];
int n = i;
while( n > 0 && arr[n-1] > temp){
arr[n] = arr[n-1];
n--;
}
arr[n] = temp;
}
l = &arr[n-1];
s = &arr[0];\
printf("%d %d\n",*l,*s);
}
int main(void){
int arr[] = {1,2,9,3,58,21,4};
int *s, *l;
int size = 7;
func(arr,s,l,size);
printf("%d %d\n",*l,*s);
}