打印数组时给出以下差异:
上次运行的输出,给定数组大小为 10:
1054923524,536171146,1590310503,900411369,764853670,471563977,933417110,1800497411,544592671,135121
1054923524,536171146,1590310503,900411369,764853670,471563977,933417110,1800497411,544592671,0,
知道为什么它打印“0”而不是我的想法吗?(数组的最后一位)
#include <stdio.h>
#include <stdlib.h>
main() {
srandom(time(NULL));
printf("Size:");
int n;
scanf("%d",&n);
int *ints;
ints=malloc(sizeof(int)*n);
int i;
for(i=1; i<n-1;i++) {
int a=random();
ints[i]=a;
printf("%d,",a);
}
printf("%d\n",ints[n]);
sort(&ints[0],&ints[n]);
free(ints);
}
void sort(int *begin, int *end) {
int i;
for(i=0;&(begin[i])!=end;i++) {
printf("%d,",begin[i]);
}
}