Ho letto che l'uso di strlen
è più costoso di tale sperimentazione in questo modo:L'utilizzo di strlen() nella condizione del ciclo è più lento del semplice controllo del carattere null?
Abbiamo una lunga stringa x
100 caratteri.
penso che
for (int i = 0; i < strlen(x); i++)
è più costoso di questo codice:
for (int i = 0; x[i] != '\0'; i++)
E 'vero? Forse il secondo codice non funzionerà in alcune situazioni, quindi è meglio usare il primo?
Sarà meglio con il sotto?
for (char *tempptr = x; *tempptr != '\0'; tempptr++)
il secondo ciclo esegue approssimativamente ciò che 'strlen' fa internamente; Non vedo ancora il punto della domanda –
Scrivilo e testalo. Le metriche sono il modo migliore per sapere quale è meglio. –
Se devi dedicare tempo e sforzi a preoccuparti di cose come questa, potresti risparmiare denaro acquistando un computer più veloce. –