关于栈和循环的问题,求解
BigInteger p;int x,y;
SeqStack S;
InitStack(&S);
p=L->next;
while(p)
{
Push(&S,p->data);
p=p->next;
}
while(!IsEmpty(&S))
{
Pop(&S,&x);
printf("%d",x);
if(!IsEmpty(&S))
printf(",");
代码在此
问题是:这是个加法程序,有while(p)的时候,加起来小于10000的数据没有显示。程序也没有结束
去掉while(p)的时候就正常了
例如:有while(p)的时候 输入2000+2000 没有数据显示 程序没有结束 输入20000+20000,结果显示4,0000 程序结束
没有while(p)的时候 输入2000+2000,显示4000,程序结束 输入20000+20000,结果显示0,按照存储方式,这样的结果是对的,然后程序正常结束
我就搞不懂这while出了什么问题