Discussione cosa fa nel dettaglio questa funzione in C?

Stato
Discussione chiusa ad ulteriori risposte.

Morad_Pro

Utente Bronze
7 Febbraio 2018
5
3
2
20
int mystery (char s[])
{
float *p = s;
int c = 0;
while (*p!=0)
{
if (*p>='0' && *p<='9')
c++;
p++;
}

return c;

}


il mio scopo è quello di capire la computazione che svolge questa funzione, soltanto che non riesco a capirla per bene. ho iniziato da pochissimo ad imparare il C e sto cercando di capirlo per bene se qualcuno gentilmente mi può dare qualche consiglio ne sarei felice
grazie!!!
 
Allora, innanzitutto è una funzione che riceve un array di caratteri. *p è il puntatore all'array, e finchè il puntatore punta a a qualche valore effettua il ciclo. Nel ciclo controlla se il puntatore si riferisce a un valore compreso tra 0 e 9, ma non numericamente ma in formato carattere. Se corrisponde, aumenta il valore del contatore c . Passa infine al carattere dopo nell'array, sia che abbia trovato un numero sia che non lo abbia trovato.
In poche parole, conta quanti numeri sono presenti in un vettore di caratteri.
 
  • Mi piace
Reazioni: Morad_Pro
Allora, innanzitutto è una funzione che riceve un array di caratteri. *p è il puntatore all'array, e finchè il puntatore punta a a qualche valore effettua il ciclo. Nel ciclo controlla se il puntatore si riferisce a un valore compreso tra 0 e 9, ma non numericamente ma in formato carattere. Se corrisponde, aumenta il valore del contatore c . Passa infine al carattere dopo nell'array, sia che abbia trovato un numero sia che non lo abbia trovato.
In poche parole, conta quanti numeri sono presenti in un vettore di caratteri.


grazie mille !!!
 
  • Mi piace
Reazioni: 0xbro
Stato
Discussione chiusa ad ulteriori risposte.