我的程序在vc++上不能运行,请高手指点下是goto用错了吗?只想用goto做哈

#include<stdio.h>main(){intt,q,w,a[2][5]={150001,150002,150003,150004,150005,1000,500... #include<stdio.h>
main()
{ int t,q,w,a[2][5]={150001,150002,150003,150004,150005,1000,500,230,700,998};
re:printf("请输入您要查询的零件编号:\n");
scanf("%d",&t);
if((t>150005)||(t<150001))
{printf("您输入的是错误的零件编号,请选择重新输入(Y),退出查询(N)");
scanf("%d",&q);
if(q='Y')
goto re;
if(q='N')
goto end;}
else
printf("%d %d",a[0][t-150001],a[1][t-150001]);
printf("您还要继续查询吗(Y/N)?");
scanf("%c",&w);
if(w='Y')
goto re;
if(w='N')
goto end;
end:printf("查询结束");
}
展开
 我来答
lqbest127
2008-12-11 · TA获得超过122个赞
知道答主
回答量:182
采纳率:0%
帮助的人:147万
展开全部
是运行到scanf("%d", &q)时你输入了字符才出错的,所以你可以把%d改成%c,同时给q附个初值0即可。另外if(q='Y')写错了,应该用==而不是=。
if(w='Y')也是。建议给所有变量能附初值的就附个初值。
zyq_07_28
2008-12-09 · TA获得超过258个赞
知道小有建树答主
回答量:185
采纳率:0%
帮助的人:0
展开全部
q的类型改成char, if语句里=改成==
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
大汗谈情
2008-12-09 · 贡献了超过100个回答
知道答主
回答量:100
采纳率:0%
帮助的人:38万
展开全部
说一句实话,goto不适合我们用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式