为什么这个程序中间的那个while函数运行不了求大佬帮忙
int main()
{
int m,n,a,x;
char flag;
Polyn pa=0,pb=0,pc;
printf("请输入a的项数:");
scanf("%d",&m);
pa=CreatePolyn(pa,m);
printf("请输入b的项数:");
scanf("%d",&n);
pb=CreatePolyn(pb,n);
printf(" 一元稀疏多项式计算器 \n");
printf(" \n");
printf(" A:输出多项式a B:输出多项式b \n");
printf(" \n");
printf(" C:输出a+b D:输出a-b \n");
printf(" \n");
printf(" E:退出程序 \n");
printf(" \n");
while(a)
{
printf("\n请选择操作:");
scanf(" %c",&flag);
switch(flag)
{
case'A':
case'a':
{
printf("\n 多项式a=");
PrintPolyn(pa);
break;
}
case'B':
case'b':
{
printf("\n 多项式b=");
PrintPolyn(pb);
break;
}
case'C':
case'c':
{
pc=AddPolyn(pa,pb);
printf("\n a+b=");
PrintPolyn(pc);
break;
}
case'D':
case'd':
{
pc=SubtractPolyn(pa,pb);
printf("\n a-b=");
PrintPolyn(pc);
break;
}
case'E':
case'e':
{
printf("\n 感谢使用此程序!\n");
DestroyPolyn(pa);
DestroyPolyn(pb);
a=0;
break;
}
default:
printf("\n 您的选择错误,请重新选择!\n");
}
return 0;
}
}