|
10鱼币
本帖最后由 cheny3636 于 2014-8-17 18:02 编辑
用VS2013执行这段代码没有问题 但是输入后出现一大堆的错误提示:
# include <stdio.h>
int main(void)
{
double number1 = 0.0;
double number2 = 0.0;
char operation = 0;
printf("\n请输入:");
scanf_s("%lf %c %lf", &number1, &operation, &number2);
switch (operation)
{
case '+':
printf("= %lf\n", number1 + number2);
break;
case '-':
printf("=%lf\n", number1 - number2);
break;
case'*':
printf("= %lf\n", number1*number2);
break;
case '/':
if (number2 == 0)
printf("输入不合法");
else
printf("= %lf\n", number1 / number2);
break;
case '%':
if ((long)number2 == 0)
printf("输入不合法");
else
printf("=%lf", (long)(number1) / (long)(number2));
break;
default:
printf("请输入");
break;
}
// getchar();
return 0;
}
用VC6.0执行此代码又是正确的。 请大神指点为什么VS2013执行后会出现程序异常,用Vc6.0又没有问题。这类问题应该如何避免错误访问呢?
|
-
VS2013执行结果
-
VC6.0执行结果
-
VS2013错误提示
-
VS2013执行结果
最佳答案
查看完整内容
VS2013输入字符串必须指定输入长度
你把
改成
就行了
|