Ich übe derzeit auf Struct, und hier ist mein einfacher Code. Ich habe gerade ein Problem hier, dass ich die Antwort nicht finden konnte. Mein Code fordert mich auf, den Namen eines Songs, dessen Interpret und die Dauer des Songs einzugeben. Ich tippte "My Lightning Speed", aber nur das Wort "My" füllt den Namen des Songs. Das Wort "Lightning" füllt den Künstler und Speed füllt die Dauer. Warum? Wie kann ich es reparieren?Warum kann ich keine Zeichenfolge mit Leerzeichen eingeben?
#define _CRT_SECURE_NO_WARNINGS
#include <string.h>
#include <stdio.h>
#define SIZE 20
typedef struct {
char name[SIZE];
char artist[SIZE];
int duration;
} songname;
songname FillSong();
int main()
{
songname songNumb1, songNumb2, songNumb3;
songNumb1 = FillSong();
songNumb2 = FillSong();
return 0;
}
songname FillSong()
{
songname tempC;
printf("\n");
printf("Enter the name of this song: ");
scanf(" %s", tempC.name);
printf("name: %s\n", tempC.name);
printf("Who is the artist? ");
scanf(" %s", tempC.artist);
printf("artist: %s\n", tempC.artist);
printf("What is the duration(seconds)? ");
scanf("%d", &tempC.duration);
printf("duration: %d\n", tempC.duration);
return tempC;
}
Haben Sie die Manpage für 'scanf' gelesen? –
Mmm Darf ich fragen, was die Manpage ist? – user6866732
Sie geben "man page scanf" in Google ein. –