2
私は列にテキストを表示しようとしていますが、出力の2行目にスペースが追加されます。私は間違って何かしていますか? (エントリは、文字列の前にスペースを含まない)、ここでは、関与する機能である:何らかの理由でprintf関数が表示したい部分にスペースを追加します
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*/
上記のように任意の入力データが印刷されます。
問題はここには表示されません。問題の[最小、完全、検証可能な例](http://stackoverflow.com/help/mcve)で質問を更新してください。 – dbush