配列を印刷するときに、次の不一致が生じます。
配列サイズが 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]);
}
}