当我输入年龄输入“20”时,按Enter键,它会转到新行,再次按Enter键,它会再次转到新行。
无论我按了多少次enter键,直到我键入“harri”或任何字符/单词,它才从代码中出来,然后显示下一行代码。为什么会这样?如何修复它,以便在键入“20”Enter时,它将执行下一行代码(
printf(" Please enter your name\n")
)?
输出:
output
void print_Struct_Element(List *list) {
printf("String name: %s\n",list->head->name);
printf("Age data: %d\n",list->head->age);
printf("head address %p\n",list->head );
printf("tail address %p\n",list->tail );
printf("head value %p\n",&list->head );
printf("tail value %p\n",&list->tail );
}
int main() {
char name[10];
int age, count;
printf("Please enter your age ");
scanf("%d\n",&age);
printf(" Please enter your name\n");
scanf("%s\n",name);
List moneyManagerList;
insertAtHead(&moneyManagerList,name,age );
print_Struct_Element(&moneyManagerList);
return 0;
}
这是我的另一次尝试;全部失败:
int main() {
char name[10];
int age, count;
// printf("Please enter your name and age \n ");
// sscanf("harrison 30", "%s %d",name, &age );
printf("Please enter your age ");
//fgets(age, 5, stdin);
scanf("%d\n",&age);
printf(" Please enter your name\n");
fgets(name,10, stdin);
//scanf("%s\n",name);
List moneyManagerList;
insertAtHead(&moneyManagerList,name,age );
//moneyManagerList.head->name = strcpy(moneyManagerList.head->name, name );
//printf("head string name %s\n",moneyManagerList.head->name );
print_Struct_Element(&moneyManagerList);
return 0;
}
Github链接:
https://github.com/lambigini87/linked-link-moneyManager-project/blob/master/main.c