Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

O código é compilado, mas trava na execução do programa.

Fiz o exercício proposto da seguinte forma:

#include <stdio.h>
#include <stdlib.h>

int n;
int r;

int fib(int i) {

    if(i==0) return 0;
    if(i==1) return 1;

    return fib(i-1) + fib(i-2);
}

int main() {
    printf("Qual o Valor de n?");
    scanf("%d", n);
    r=fib(n);
    printf("\nfib(%d) = %d", n, r);
}

A compilação do código é feita sem problemas, mas a execução do programa não. Após eu digitar o "valor de n" e apertar enter, a execução é finalizada após alguns segundos sem nenhuma mensagem de erro. Estou usando o GCC como compilador, bloco de notas para escrever o código e MSDOS para executar o arquivo.exe. Alguém poderia me indicar onde está o problema? Obrigado

1 resposta
solução!

Bom dia acho que o problema pode estar na função

scanf("%d", n);

faltou o &

scanf("%d", &n);