Ciao, allora io devo creare un file “main.c”. Nel file, si deve realizzare la funzione corrispondente alla seguente dichiarazione:
extern char max_pot10 (unsigned int val);
La funzione riceve un valore intero non negativo val e ritorna l’esponente della massima potenza del dieci contenuta in val. Ad esempio se val=123, 100 è contenuto in val, 10^1 è contenuto in val, 10^2 è contenuto in val, 10^3 non è contenuto in val. Quindi la funzione deve ritornare 2 (in altre parole il numero è nell’ordine delle centinaia). Se il numero è 0, la funzione deve ritornare -1. Se ad esempio chiamassimo la funzione inizializzando val a 123456, questa dovrebbe ritornare 5. Però non mi ritorna 5, qualcuno saprebbe dirmi il perchè?
char max_pot10(unsigned int val) {
if (val == 123) {
return 2;
}
if (val == 0)
return -1;
}
int main(void) {
unsigned int val, z;
val = 123456;
z = max_pot10(val);
return 0;
}