• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Frage wegen c Programmcode

Status
Für weitere Antworten geschlossen.

sdanny

Neues Mitglied
Hi ich bin absoluter "Anfänger" und
hab en kleines Problem, kann mir vieleicht einer weiterhelfen, was an
dem untenangehaengten Code falsch ist?
Denn sobald ich in der Anwendung den
ersten Namen eingeb bricht sie ab!
Was kann da sei, falscher Datentyp? od. falscher scanf() Befehl?

#include"stdafx.h"

int main (void)
{
int x;
int y;
int z;
printf("Geben sie ihren Vornamen ein: ");
scanf("%d",&x);
printf("Geben sie ihren Nachnamen ein: ");
scanf("%d",&y);
printf("Herzlich wilkommen %d %d",x,y);
scanf("%d",&z);
return 0;
}
 
ne, was ich weis kommt der
"string" Befehl aus C#, bei der c anwendung tut er nicht!

Dank dir-):!:
 
string gibt es in C nicht.

Und warum benutzt du Int, Int ist ein Integer, das heißt das er für Ganzzahlen bestimmt ist. Versuch es mal mit char. Und mach die Address Operatoren weg(&).

Code:
#include"stdafx.h"

int main (void)
{
char x, y, z;
printf("Geben sie ihren Vornamen ein: ");
scanf("%c",x);
printf("Geben sie ihren Nachnamen ein: ");
scanf("%c",y);
printf("Herzlich wilkommen %c %c",x,y);
scanf("%c",z);
return 0;
}
 
Hallo,

char geht in die richtige Richtung, bietet aber nur Speicher für ein Zeichen.

Um mehrere Zeichen einzulesen braucht man ein char-Array.

Code:
#include <stdio.h>

#define LENGTH 100

int main (void)
{
        char x[LENGTH], y[LENGTH], z[LENGTH];

        printf("Geben sie ihren Vornamen ein: ");
        scanf("%s",x);

        printf("Geben sie ihren Nachnamen ein: ");
        scanf("%s",y);

        printf("Herzlich wilkommen %s %s", x,y);
        scanf("%s",z);

        return 0;
}


Bei Strings muss man aber aufpassen, da sie eine maximale Länge haben und somit bei einer zu langen Eingabe anderen Speicher überschreiben.

Vermeiden kann man das z.B. mit fgets.


N43
 
Hi N43, echt geil 1000 Dank, so geths wircklich,
wieder mal was dazu gelernt!!!

Jetzt kanns weiter gehen

thanks-):lol:
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben