这是一个片段:
void addproductInterface(Tsklep **head){
char* name = (char*)malloc(sizeof(char)*100);
double price;
do{
printf("Name: ");
scanf("%s[^\n]", name);
fflush(stdin);
printf("\nPrice: ");
scanf("%lf", &price);
fflush(stdin);
addProduct(&(*head), name, price);
} while(prompt("Do you want to add another one?"));
它可以工作,但是在我添加另一个产品后,它会将前一个(和以前的)更改为此名称。看来,我每次都传递相同的指针,我只是更改它指向的数组(当我添加另一个产品时)。我理解正确吗?您有任何解决方法的想法吗?