VS2013写的一个简单计算器编译不了

cc187299067 2014-08-27 11:37:12
#include<stdio.h>
int main(void) //*计算器
{
double shuzi = 0.0;
double shuzi1 = 0.0;
char fuhao = 0;

printf("请输入一个计算:");
scanf_s("%lf %c %lf", &shuzi, &fuhao, &shuzi1);


switch (fuhao)
{
case '+':
printf("=%lf\n", shuzi + shuzi1);
break;
case '-':
printf("=%lf\n", shuzi - shuzi1);
break;
case '*':
printf("=%lf\n", shuzi * shuzi1);
break;
case '/':
if (shuzi1 == 0)
printf("输入错误");
else
printf("=%lf", shuzi / shuzi1);
break;
case '%':
if (shuzi1 == 0)
printf("输入错误");
else
printf("=%lf", (long)shuzi % (long)shuzi1);
break;
default:
printf("\n\n输入错误\n\n");
}
return 0;



求大神帮忙看看
...全文
100 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaohuh421 2014-08-28
  • 打赏
  • 举报
回复
result = scanf_s( "%d %f %c %C %s %S", &i, &fp, &c, 1, &wc, 1, s, 80, ws, 80 ); 注意跟上每个数据的大小.
YinQingwei1986 2014-08-27
  • 打赏
  • 举报
回复
改为scanf_s("%lf %c %lf", &shuzi, &fuhao,1, &shuzi1); 即在第二个参数后加一个参数1 或把scanf_s改为scanf 原因:scanf_f在输入字符或者字符串时会有边界检查,需要输入最多输入多少个字符的个数的参数
cdsnfresh 2014-08-27
  • 打赏
  • 举报
回复
估计死在scanf_s()上了,http://msdn.microsoft.com/zh-cn/library/w40768et%28VS.80%29.aspx,http://baike.baidu.com/view/3529726.htm?fr=aladdin,不是windows不能测试scanf_s()

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧