Boa noite, meu algoritmo não está compilando, está dando erro: #include <stdio.h> typedef struct { int dia; int mes; int ano; } data; int bissexto (int ano); unsigned long dist_dias (data inicio, data fim); int dias_mes[2][13] = {{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}, {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}}; int main(void) { data dia1, dia2; printf("Digite uma data:\n"); printf("Dia: \n"); scanf("%d", &dia1.dia); printf("Mes: \n"); scanf("%d",&dia1.mes); printf("Ano: \n"); scanf("%d", &dia1.ano); printf("Digite outra data:\n"); printf("Dia: \n"); scanf("%d", &dia2.dia); printf("Mes: \n"); scanf("%d",&dia2.mes); printf("Ano: \n"); scanf("%d", &dia2.ano); printf("a distancia em dias: %lu\n", dist_dias (dia1, dia2)); return 0; } int bissexto (int ano) { return (ano % 4 == 0) && ((ano % 100 != 0) || (ano % 400 == 0)); } unsigned long dist_dias (data inicio, data fim) { unsigned long idias, fdias; unsigned long def_anos = 0; register int i; int dbissexto; unsigned long dist_dias (data inicio, data fim) { NESTA LINHA OCORRE O ERRO idias = inicio.dia; dbissexto = bissexto (inicio.ano); for (i = inicio.mes - 1; i > 0; --i) idias += dias_mes[dbissexto]; fdias = fim.dia; dbissexto = bissexto (fim.ano); for (i = fim.mes - 1; i > 0; --i) fdias += dias_mes[dbissexto]; while (inicio.ano < fim.ano) def_anos += 365 + bissexto(inicio.ano++); return def_anos - idias + fdias; } Alguém poderia me ajudar, obrigado!