kein zugriff auf schleifen-variable

Gast #756568
Lesenswert?
• ▲
▼
hallo zusammen,

ich habe ein komisches problem: ich habe eine normale for-scheife und 
möchte mir (erstmal) die schleifenvariable a auf einem display ausgeben. 
jedoch bekomme ich dort nur müll.

for(unsigned int a = 0;a<5;a++)
{
char* str;
sprintf(str,"%u",a);
ks0108Puts(str);
}

eigentlich müsste ich ja auf dem Display hinterher stehen haben: 01234

ich möchte über die schleifenvariable ein array-element auslesen, jedoch 
zeigt es mir immer nur den inhalt des ersten array-elementes an...

könnt ihr mir einen tipp geben, wo der fehler liegt, bzw. wo ich weiter 
suchen muss?



vielen dank
Gast #756640
Lesenswert?
• ▲
▼
> for(unsigned int a = 0;a<5;a++)
> {
> char* str;

Das ist ein uninitialisierter Zeiger. Er zeigt erstmal irgendwo in die 
Landschaft, solange du ihn nicht mit einem Wert belegst.

> sprintf(str,"%u",a);

Hier schreibst du dann per sprintf etwas dorthin, wo der Zeiger 
hinzeigt, also immer noch irgendwo in der Landschaft.

> ks0108Puts(str);

Hier ist dann Zufall, was rauskommt.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.