Salve, dovrei svolgere il seguente esercizio:
Scrivere la funzione C
int length(BinSeq* bin_seq);
che, data in ingresso una sequenza binaria
bin_seq, calcoli e restituisca in modo ricorsivo la lunghezza della sequenza binaria.
La struttura
BinSeq è questa:
typedef struct BinSeq {
char* data; // la sequenza binaria è rappresentata come un array di caratteri '0' e '1'
int dimension; // dimensione dell'array contenente la sequenza binaria, non è la lunghezza della sequenza
} BinSeq;
Questo è il mio codice:
int length(BinSeq* bin_seq){
if ((*bin_seq)[0].data=='\0') //se il carattere è il terminatore di linea
return 0;
else
return 1+str_length(bin_seq->data+1); //altrimenti passa al carattere successivo e incrementa il contatore
}
Però non funziona, quando lo compilo con
gcc ottengo questo errore:
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Cosa sbaglio?
Grazie