c语言请问while循环为什么执行不了?

为什么这个程序中间的那个while函数运行不了求大佬帮忙intmain(){intm,n,a,x;charflag;Polynpa=0,pb=0,pc;printf("请... 为什么这个程序中间的那个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;
}
}
展开
 我来答
呼盼夏淡复
2020-03-31 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:29%
帮助的人:745万
展开全部
代码思路上问题不大。switch
case就是判断一种情况啊。只判断成绩属于abc还是不及格。有什么问题吗?while的判断条件是常数1。你是不是缺了个返回的函数。你这样就是进行了一次判断,没有返回吧?话说pause这个命令我还真没用过,感觉会停在pause不再进行while循环了吧?有没有转跳之类的命令可以用?干嘛非要用个while循环,转跳回去多好。
稍等片客
2020-03-25
知道答主
回答量:40
采纳率:0%
帮助的人:8.8万
展开全部
a没有赋予初始值,默认为0,0代表假值,所以while(a)语句不会执行,改成int a=1就好了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2020-03-25
展开全部
a定义之后就没有 初始化,赋值
还有你的 那些自定义函数在哪里?
CreatePolyn 。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2020-03-24
展开全部
a没有初始化,while(a)不知道a的值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2020-03-25
展开全部
.....................................................................
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式