gardenia   5년 전

#include <stdio.h>

int main() {

int num;
scanf("%d", &num);

long long Fib[100] = { 0,1 };

for (int i = 2; i <= num; i++) {
Fib[i] = Fib[i - 1] + Fib[i - 2];
}

printf("%lld\n", Fib[num]);

return 0;
}

이렇게 풀면 맞는데

#include <stdio.h>

#include <stdlib.h>

 int main() { 

int num; 

scanf("%d", &num); 

long long * Fib = (long long*)malloc(sizeof(long long)*(num + 1));

 for (int i = 2; i <= num; i++) { 

Fib[i] = Fib[i - 1] + Fib[i - 2];  }

 printf("%lld\n", Fib[num]); 

return 0;

 }


이렇게 동적할당을 하면 런타임에러가 나는 이유가 무엇인가요?

djm03178   5년 전

저렇게 하면 답도 제대로 안 나옵니다. 

댓글을 작성하려면 로그인해야 합니다.