Frage von Maddin337, 16

Array an gewissen Stellen überspringen?

Hey Leute,

ich wollte mal fragen, ob folgendes geht: Ich habe z.B. ein char array[5]. Ich gebe mit scanf oder nen anderen Schreibefunktion Werte in das Array. Ist es möglich, eventuell beim Feld array[2] nichts einzugeben und mit array[3] weiter zu machen? Programmiersprache ist C.

include

int main() {

char array[5]; int i;

for(i=0; i < 5; i++) { scanf_s("%c", &array[i]); }

}

Mir ist klar, dass, wenn ich das Array an einer bestimmten Stelle nicht fülle und das mit printf z.B. ausgebe, mir irgendwas angezeigt wird, weil ein Array ja quasi nie wirklich leer ist. Ich wollte nur gerne herausfinden, ob so etwas möglich ist. Vielleicht mit einem Zeiger, der mitläuft und je nach belieben ein anderes Feld anwählt. Als Zusatz wäre natürlich auch super, wenn in jedem nicht befüllten bzw. reingeschriebenen Feld dann ein x automatisch reingeschrieben wird.

Antwort
von BiggerMama, 8

mit einer if-Anweisung

{if (i <> 2) scanf_s("%c", &array[i]); }

Kommentar von Maddin337 ,

Hm... Das gilt jetzt nur für ein bestimmtes Element. Wenn ich jedoch sagen möchte, dass ich bestimmte Felder bei einem größeren Array überspringen möchte, ohne sie vorher definiert zu haben, also wie jetzt in der if, ist das auch möglich? 

Kommentar von BiggerMama ,

irgend iwe musst Du ja definieren, welche Felder das sein sollen. Dafür musst Du eine Formel finden und in der if-Anweisung abfragen.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten