c++高手帮忙在下面的题目里找出错误的地方,为什么运行不了。急!在线等

#include<stdio.h>voidmain(){charsign;intx,y;printf("输入x运算符y:");scanf("%d%c%d",&x,&sig... #include <stdio.h>
void main( )
{
char sign;
int x,y;

printf("输入x 运算符 y:");
scanf("%d%c%d", &x, &sign, &y);
if(sign='*')
printf("%d * %d = %d\n",x,y,x*y);
else if(sign='/')
printf("%d / %d = %d\n",x,y,x/y);
else if(sign='%')
printf("%d Mod %d = %d\n",x,y,x%y);
else
printf("运算符输入错误!\n");
}
展开
 我来答
刘n126
2011-03-21 · 超过36用户采纳过TA的回答
知道答主
回答量:100
采纳率:0%
帮助的人:75.2万
展开全部

将sign 后面的赋值语句"="改为等号"==",

运行结果出错的原因是:每一次输入的运算符赋值给sign后,if语句表达式的值都将为真.

wondbest
2011-03-21
知道答主
回答量:21
采纳率:0%
帮助的人:8万
展开全部
1,scanf("%d%c%d", &x, &sign, &y);%d,%c等之间最好有个空格,因为你输入的时候应该有空格的。
2,sign='*';错误!!!你看看是用赋值符号还是用等号(==)。。。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fuerdianchang
2011-03-21 · TA获得超过7910个赞
知道大有可为答主
回答量:3450
采纳率:37%
帮助的人:1192万
展开全部
1,scanf("%d%c%d", &x, &sign, &y);%d,%c等之间最好有个空格,因为你输入的时候应该有空格的。
2,sign='*';改为 sign=='*'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ysg_2525
2011-03-21 · TA获得超过387个赞
知道小有建树答主
回答量:416
采纳率:0%
帮助的人:84.8万
展开全部
在每一层if else后加上{}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式