OK, entschuldigen Sie das schlechte Wortspiel :P
Ich habe verschlüsselt den alten Trick der HAL => IBM
in C. Ich habe gerade die ersten Seiten in K&R über sie gelesen, und ich dachte, es wäre ein gutes erstes Spiel mit ihnen.
char evil[] = "HAL";
char *ptr = evil;
for (int i = 0; i < strlen(evil); ++i, ++ptr) {
(*ptr)++;
}
printf("%s\n", evil); // IBM
Mein Problem ist, dass ich zwei Variablen habe, die inkrementieren, i
y ptr
und irgendetwas sagt mir, dass einer von ihnen überflüssig ist (vielleicht bin ich immer noch nicht Denken C gut genug).
Der einzige Grund, warum ich die i
ist es, festzustellen, ob wir bis zum Ende der Zeichenkette gelesen haben. Gibt es eine Möglichkeit, den Zeiger zu überprüfen, um zu sehen, ob er am Ende der Zeichenkette angekommen ist?
Update
Bitte entschuldigen Sie die Verwirrung, die durch die eigentliche Frage entstanden ist. Von habe ich das Thema verfehlt Ich meinte im Grunde, warum sollte ich einen Zeiger verwenden, wenn ich einen inkrementierenden Index benötigte, um auch die Länge zu überprüfen. Ich könnte nur diesen Index verwenden, um das richtige Zeichen aus dem Array zu subskribieren.