Sven: [ C ] Problem mit dem Schlüsselwort char

Beitrag lesen

Hallo,

wie der ein oder andere vieleicht weiß, befasse ich mich seit Gestern mit der C Programmierung unter Linux.
Ich habe mal folgenden Code geschrieben:

--------------------------------------------------------------------

#include <stdio.h>
#include <string.h>
#include <time.h>

int main(void){
system("clear");
// Darf die Variable "wort1" nur 5 Zeichenwerte haben?
char wort1[5];
char wort2[5];
int zahl;
int erg;
int b;
int lang;
int a;
printf(" Erwarte eingabe: \n");
erg=scanf("%s %s %d",&wort1,wort2, &zahl);
if(erg!=3)
{
printf("Es fehlt etwas!");
}
else
{
printf("Du hast: %s und %s und wie Zahl: %d eingegeben!\n Ergebniss: %d \n",wort1,wort2,zahl,erg);
lang=strlen(wort1);
for(a=0;a < lang;a++)
 {
   //Sollten hier nicht die Buchstaben des eingegebenen Wortes kommen?? Bekomme aber die Meldung: Speicherzugriffsfehler!
  printf("%s",wort1[a]);

}

}
return 0;
}
--------------------------------------------------------------------

Ist die Variable die ich mit "char" deklariert habe kein Array?
Ich habe zwar:
char wort1[5];
eingegeben und verstehe das so das jetzt nur 5 Zeichen gültig sind, also so:

wort1[0] = "S"
wort1[2] = "e"
wort1[3] = "l"
wort1[4] = "f"
wort1[5] = "\0"

Ich habe mir strlen die länge des Wortes ausgelesen und mit einer for-schleife wollte ich mir nun die einzelnen Buchstaben ausgeben lassen, aber ohne erfolg.
Gebe ich aber ein Wort mit nicht 5 sondern 10 Zeichen ein, wird das trotzdem angenommen, wieso wenn das doch auf 5 begrenzt ist?

Danke für Hilfreiche antworten!