我使用二进制搜索树在c中创建了一个程序,但在我的程序中,一个函数名称没有给我相应的结果 在我的主要功能中,我称之为功能账单,如
bill();
printf("Total Bill= %d",total);
此函数的实际def为
int bill()
{
if(root==NULL)
{
printf("No data found");
}
else
{
char q[10];
char a[]="yes";
int sum=0;
struct node *temp=root;
int no;
printf("Enter Id of work: ");
scanf("%d",&no);
if(no>temp->id)
{
while(temp!=NULL)
{
if(temp->id==no)
{
printf("Id: %d\n",temp->id);
printf("work: %s\n",temp->work);
printf("Charges: %d\n",temp->charge);
sum=+temp->charge;
}
temp=temp->right;
}
}
else
{
while(temp!=NULL)
{
if(temp->id==no)
{
printf("Id: %d\n",temp->id);
printf("work: %s\n",temp->work);
printf("Charges: %d\n",temp->charge);
sum=+temp->charge;
}
temp=temp->left;
}
}
printf("Another Work? \t Yes Or NO?\n");
scanf("%s",q);
if(*q=='y')
{
bill();
}
total=+sum;
return total;
}
}
在这个最后的if条件下,递归函数调用另一个总和来了,我希望这两个总和应该总共存储然后返回总数但是 这个总数只存储了一个总和并返回此项。 所以请任何人帮我解决它。
答案 0 :(得分:1)
您可以在C中返回array
。在C ++中,您可以返回pair
。