Ein- und Ausgabe

Das folgende Programm soll aus den Zeichen einer Zeichenkette das erste gütige Zeichen( Buchstabe, Unterstrich) ausfindig machen und dises sowie alle folgenden gültigen Zeichen(Buchstabe, Ziffer, Unterstrich) ausgeben. Ich habe das Programm bisher nicht zum Laufen bekommen und finde den Fehler nicht…Ich hoffe es kann mir jemand helfen!

#include
#include

int main (void)
{

char c[z];
int z;
z = -1;
do { z = z + 1;
scanf("%C", &c[z]);
}
while (( c[z] != ‚\n‘)
&& (z =20)
&& ((c[z] >= ‚A‘) && (c[z] = ‚a‘) && (c[z] =20)
&& ((c[z] >= ‚A‘) && (c[z] = ‚a‘) && (c[z] = ‚0‘) && (c[z]

Hallo,

> while (  
> !(c[z] == '\n')  
> && !(z\>=20)  
> && ((c[z] \>= 'A') && (c[z] = 'a') && (c[z] = '0') && (c[z]

Ich finde das ziemlich unübersichtlich.
Und vermutlich auch falsch, weil ein Zeichen nicht zwischen a und z **und** zwischen 0 und 1 sein kann. Vermutlich hast du && und || ab und zu verwechselt.

Mein Vorschlag wäre eine Funktion


    
    int is\_valid\_char(char c){
     if (c \>= 'A' && c = 'a' && c 
    
    Dann kannst du erstmal testen, ob diese Funktion das macht, was du willst, und dann kannst du die Funktion in deiner Extraktions-Routine verwenden.
    
    Grüße,
    Moritz