m0_57892858
小手冰凉i丶
2021-05-21 16:00
采纳率: 100%
浏览 37

为什么在VC可以运行的程序在VS不能运行,如何解决.

在VC里可以运行的程序,重新在VS里面开文件,运行出来系统匡但是输入后报错.

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • technologist_23
    CSDN专家-cpp_learner 2021-05-21 19:13
    已采纳

    还有几个问题:

    录入库存,退出后会报堆栈内存的问题,我怀疑就是你定义了结构体数组导致的,sp linshi[1];

    使用时fprintf(fp, "%s %s %d %d %s %d\n", id, linshi[1].name, linshi[1].price1, linshi[1].price3, linshi[1].home, linshi[1].num3);

    linshi[1],还有一个linshi[0]就没有被使用到。

     

    另外,还有一些细节:

    int issuper(char *name, char *password) //判断用户是否是管理员 是返回1 否返回0
    {
        int n, i, flag = 0;
        n = ussum();
        for (i = 0; i < n; i++)
        {
            if (strcmp(name, us[i].name) == 0 && strcmp(password, us[i].password) == 0)
            {
                if (us[i].power == 1)        // 细节,当符合条件后,就没必要在执行for循环了
                    flag = 1;
            }
        }
        if (flag)
            return 1;
        else
            return 0;
    }

    例如循环判断找到后,可以直接结束循环而无需再继续循环了。

    点赞 评论
  • software7503

    看一下具体报错吧,不同工具有些小的区别。

    点赞 评论
  • technologist_23
    CSDN专家-cpp_learner 2021-05-21 16:12

    VS中会有严格的代码函数安全检测,例如

    scanf函数可以在VC上面使用,却不能在VS上使用,因为VS觉得它不安全,要使用scanf_s

    同理strcpy 与 strcpy_s也是一样的道理。

    检查一下你的报错是不是这类问题!

    点赞 评论
  • QA_Assistant
    有问必答小助手 2021-05-25 14:33

    您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

    点赞 评论

相关推荐