Ich versuche, Text in Spalten anzuzeigen, aber in der zweiten Zeile der Ausgabe wird ein Leerzeichen hinzugefügt. Mache ich etwas falsch? (Die Einträge enthalten kein Leerzeichen vor dem String) Hier sind die beteiligten Funktionen:Aus irgendeinem Grund fügt printf-Funktion einen Platz zu dem, was ich anzeigen möchte
add(List *book)
{
Contact *runner = book->una;
Contact *node = (Contact *) malloc(sizeof(Contact));
if (node == NULL);
else {
printf("Add a contact\n");
printf("Enter the first name: ");
scanf("%s", node->fname);
printf("Enter the last name: ");
scanf("%s", node->lname);
printf("Enter the mobile number: ");
scanf("%s", node->number);
printf("\nContact added!\n\n");
node -> next = NULL;
if(book->una == NULL){
book->una = node;
}
else
{
while(runner->next != NULL)
{
runner = runner->next;
}
runner->next = node;
}
}
}
display(List *book)
{
Contact *runner = book -> una;
if(runner == NULL)
{
printf("%20s", "PHONEBOOK EMPTY!");
return;
}
printf("Contact list\n");
printf("%-15s%-15s%-15s", "First Name", "Last Name", "Mobile number\n");
while(runner != NULL)
{
printf("%-15s%-15s%-15s\n", runner->fname, runner->lname, runner->number);
runner = runner->next;
}
}
/*An example output basically turns out like this:
First Name Last Name Mobile Number
James Harrison 123456
Wendy Barnes 00000
Cam Rodriguez 575938*/
Alle Eingangsdaten gedruckt werden, wie oben gezeigt.
Das Problem scheint nicht hier zu sein. Bitte aktualisieren Sie Ihre Frage mit einem [Minimalen, vollständigen, überprüfbaren Beispiel] (http://stackoverflow.com/help/mcve) des Problems. – dbush