Come mai questa funzione entra in un loop infinito ???
Quando incontra il terminatore, non si dovrebbe fermare il ciclo ???codice:int length(char str[20]){ int i; while(str++!='\0') i++; return i; }
Dove sbaglio ???
Come mai questa funzione entra in un loop infinito ???
Quando incontra il terminatore, non si dovrebbe fermare il ciclo ???codice:int length(char str[20]){ int i; while(str++!='\0') i++; return i; }
Dove sbaglio ???
Scusate... ho gia' risolto
![]()
codice:int length(char str[20]){ int i,a; i=a=0; while(str[i++]!='\0') a++; return a; }
Comunque ho una domanda: come mai con str++ non aumenta l'indice dell'array char ???
Ciao
Cosi` su due piedi, direi perche` 'str' decade a puntatore al primo elemento, cosi` il confronto non viene fatto sul contenuto, ma sull'indirizzo.Originariamente inviato da keratox
Scusate... ho gia' risolto
![]()
codice:int length(char str[20]){ int i,a; i=a=0; while(str[i++]!='\0') a++; return a; }
Comunque ho una domanda: come mai con str++ non aumenta l'indice dell'array char ???
"Qualsiasi esperto ha paura di combattere usando la katana vera. Anch'io. Ma non ignoro la mia paura, riesco ad accettarla, e a metterla da parte accanto a me".
Ah capito.
Grazie!
![]()