void polynomial_scanf_order(polynomial *head)//in order on the creation of polynomial
{
int coef,power;
char c,mark='/0';
polynomial *p=head;
polynomial *k,*pre,*temp;
printf("Please input your polynomial :/n");
do{
scanf("%d%c%d",&coef,&c,&power);
if(mark == '-')
{
coef*=-1;
}
if(k=search(head,power))
{
k->coef+=coef;
if(k->coef==0)
{
pre=getparent(head,k);
temp=k->next;
pre->next=k->next;
free(temp);
}
continue;
}
polynomial *newnode=(polynomial *)malloc(sizeof(polynomial));
newnode->coef=coef;
newnode->power=power;
newnode->next=null;
p->next=newnode;
p=newnode;
}while((mark=getchar()) == '-'||mark == '+');
if(c=='='||c=='/n')
{
printf("add polynomial succeed!/n");
return;
}
printf("wrong input!/n");
destory_polynomial(&headnode);
}
因为这段简单的代码,我在电脑前苦作了一个多小时,原因是什么?不仔细!
这么浪费时间本来可以把作业都写完了的,就是一个“对同一个变量多次引用赋值”,弄乱了判断导致逻辑判断总是执行不正确
唉 祭奠自己的一个多小时 同时这也必然是一个收获 恭喜我又一次解决自己粗心引起的BUG 恭喜我又一次明白了时间的重要性 恭喜我又一次知道了对事情要仔细 尤其是敲代码