首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

最近自学C遇到一个有关问题,请大家帮忙看看,多谢

2012-04-16 
最近自学C遇到一个问题,请大家帮忙看看,谢谢就是这个简单的小程序://模拟计算器//#includestdio.hint ma

最近自学C遇到一个问题,请大家帮忙看看,谢谢
就是这个简单的小程序:
//模拟计算器//
#include<stdio.h>
int main()
{
void action1(int x,int y);
void action2(int x,int y);
void action3(int x,int y);
void action4(int x,int y);
char a;
int c,d;
printf("请输入计算信息\n");
scanf("%d%c%d\n",&c,&a,&d);
switch(a)
{
case'+':action1(c,d);break;
case'-':action2(c,d);break;
case'/':action3(c,d);break;
case'*':action4(c,d);break;
default:printf("Error!\n");
}
return 0;


}
/*定义函数*/

void action1(int x,int y)
{
printf("x+y=%d\n",x+y);
}
//action2//
void action2(int x,int y)
{
printf("x-y=%d\n",x-y);
}
//action3//
void action3(int x,int y)
{
printf("x/y=%f\n",x/y);
}
//action4//
void action4(int x,int y)
{
printf("x*y=%d\n",x*y);

大家帮我看看,谢了!
}

[解决办法]
scanf("%d%c%d\n",&c,&a,&d);这一句里的\n必须去掉,写成scanf("%d%c%d",&c,&a,&d);

运行时的输入必须严格遵守scanf的规则,不得擅自添加任何多余的成分。

比如,计算3+2,你必须输入“3+2”然后回车。如果输入“3 + 2”的话就别指望能按你的愿望执行了。

热点排行