0
最初にいくつかの入力を照会しようとしていて、その数の入力で動的リストを埋めようとしています。その後、逆の順序で印刷します。何らかの理由でSIGSEGVエラーが出ますが、無限ループやアドレスエラーを見つけることができません。何が間違っているのか探してみましょう。シグナルで終了SIGSEGV(アドレス境界エラー)
#include <stdio.h>
#include <stdlib.h>
int main() {
int input;
printf("Enter a non-negative number: ");
scanf("%d", &input);
int *listA;
listA = (int*)malloc(sizeof(int[input]));
printf("Now, enter %d non-negative numbers: ", input);
for (int i = 0; i < input; i++) {
scanf("%d", listA[i]);
}
printf("In reverse order, your input is: ");
for (int i = input-1; i >=0; i--) {
printf("%d",listA[i]);
}
free(listA);
return 0;
}