Ich versuche, durch eine Reihe von ganzen Zahlen Schleife mit Zeigern mit dem folgenden Code:Extra-Nummer, während sie durch ein Array in C Looping ++
#include <iostream>
int main (int argc, char ** argv)
{
int ar[] = {1,1,2,3,5,8,13,21,34,55};
char s[] = "string";
std::cout << "Print fibonacci until ten using pointers" << std::endl;
for (int * p = ar; *p; p++)
{
std::cout << *p << std::endl;
}
// for (char * cp = s; *cp; cp++)
// std::cout << "char is " << *cp << std::endl;
return 0;
}
Auf diesen Code ausgeführt wird, erhalte ich alle 10 Elemente sowie eine Reihe, . Aber beim Auskommentieren der zweiten for-Schleife und erneutem Ausführen verschwinden die Zahlen.
Kann jemand erklären, warum das passiert? Bei Bedarf wird der Code in einer 64-Bit-Linux-Box kompiliert.
Sie erwarten ein mit Null abgeschlossenes Array, terminierten es jedoch nicht null. 'int ar [] = {1,1,2,3,5,8,13,21,34,55, 0};' –
@ πάνταῥεῖ Warum schreiben Sie eine Antwort in den Kommentaren? –