鱼C论坛

 找回密码
 立即注册
查看: 10906|回复: 13

VS2013和VC6.0问题

[复制链接]
发表于 2014-8-17 17:52:58 | 显示全部楼层 |阅读模式
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执行结果

VS2013执行结果

VC6.0执行结果

VC6.0执行结果

VS2013错误提示

VS2013错误提示

VS2013执行结果

VS2013执行结果

最佳答案

查看完整内容

VS2013输入字符串必须指定输入长度 你把 改成 就行了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-8-17 17:52:59 | 显示全部楼层
VS2013输入字符串必须指定输入长度
你把
 scanf_s("%lf  %c  %lf", &number1,  &operation,  &number2);
改成
 scanf_s("%lf  %c  %lf", &number1,  &operation, sizeof(1),  &number2);
就行了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-8-17 18:45:46 | 显示全部楼层
表示VS的连怎么运行都不会。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-8-17 18:57:58 | 显示全部楼层
有没大神啊 求解答  这VS2013是错误操作了系统地址还是咋滴?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-8-18 15:43:03 | 显示全部楼层
是不是不兼容啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-8-18 21:56:44 | 显示全部楼层
VC++6.0  哪里下载啊:mad:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-8-18 22:33:24 | 显示全部楼层
我也试着用过VS2013 也是一样程序过不了编译
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-8-19 12:44:08 | 显示全部楼层
有些我用VS2013也是会出错,是因为他们的标准不一样,VS的标准更为严格,vc++6.0好像是C99,VS2013不清楚。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-8-21 11:28:15 | 显示全部楼层
:lol::lol::lol:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-8-22 20:35:14 | 显示全部楼层
你好啊 发表于 2014-8-21 00:05
VS2013输入字符串必须指定输入长度
你把
改成

:lol:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-8-22 20:50:51 | 显示全部楼层
你好啊 发表于 2014-8-21 00:05
VS2013输入字符串必须指定输入长度
你把
改成

恩   问题已经找到了   你那种也可以   用scanf也可以
# include <stdio.h>

int main(void)
{
        double number1 = 0.0;
        double number2 = 0.0;
        char operation = 0;

        printf("\n请输入:");
        scanf("%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;
        }
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-8-22 22:10:37 | 显示全部楼层
我只是路过打酱油的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-8-23 09:37:56 | 显示全部楼层
还是vc好 不会报错 我用vs2010  但是不支持debug版本 只支持release版本 开始很倒腾了很久 还是vc实在
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-5-14 17:54:34 | 显示全部楼层
:funk:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-25 23:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表