Ich habe das folgende einfache c-Programm Ich versuche, in CLion auszuführen, aber sagt mir, dass mein Zeichen ein Zeiger sein muss, den ich bereits als Zeiger festgelegt und Array abc so deklariert habe Ich bin mir nicht sicher, was das Problem ist oder wie es zu debuggen ist! Der Code war ursprünglich ein Beispiel für eine Vorlesung und ich fügte die Zeigerdeklaration hinzu, um zu sehen, was passiert, wenn ich es ausführe. Jede Hilfe wäre zu schätzen.Einfaches C-Zeigerprogramm, läuft nicht
#include <stdio.h>
#include <stdint.h>
int main() {
char *a;
char abc[5];
a = abc;
int i = 0;
while (1 == scanf("/%[^/ \t\n]", a[i++]))
printf(">%s<\n", a[i-1]);
}
Ja, aber Sie * indexieren * diesen Zeiger, also übergeben Sie ein 'char' an' scanf'. –
scanf wartet auf einen Zeiger, 'a [i ++]' ist kein Zeiger. '& a [i ++]' –
... und mit einer Array-Länge von nur '5' ist es sehr wahrscheinlich, dass Sie seine Grenzen überschreiten werden. Schlagen Sie zunächst mit 'char abc [500]; –