Ist die Verwendung von strlen () in der Schleifenbedingung langsamer, als nur nach dem Null-Zeichen zu suchen?

Ich habe gelesen, dass die Verwendung vonstrlen ist teurer als solche Tests wie dieses:

Wir haben eine Zeichenfolgex 100 Zeichen lang.

Ich denke, das

for (int i = 0; i < strlen(x); i++)

ist teurer als dieser Code:

for (int i = 0; x[i] != '\0'; i++)

Ist es wahr? Vielleicht funktioniert der zweite Code in manchen Situationen nicht. Ist es also besser, den ersten zu verwenden?

Wird es besser mit dem unten?

for (char *tempptr = x; *tempptr != '\0'; tempptr++)

Antworten auf die Frage(16)

Ihre Antwort auf die Frage