write(1, &c, 1) para imprimir el caráctervoidwhile (str[i] != '\0')str[i] con writei++ hasta el final'-' y convierte a positivonb / 10(nb % 10) + '0'str[i] != '\0'i en cada carácteri → la longitud sin contar el '\0'src[i] != '\0'dest[i] = src[i]'\0' al final de destdests1[i] == s2[i] y no sea '\0's1[i] - s2[i]while (dest[i] != '\0')'\0' al final y devuelve dest+ o -, guarda en signresu = resu * 10 + str[i] - '0'resu * signnb < 0 → devuelve 0result = 1result *= i desde 1 hasta nbnb < 0 → devuelve 0nb == 0 → devuelve 1nb * factorial(nb - 1)*a en una variable temporal tmp*a = *b*b = tmpindex < 0 → devuelve -1index == 0 → devuelve 0index == 1 → devuelve 1fib(n-1) + fib(n-2)