鱼C论坛

 找回密码
 立即注册
查看: 2104|回复: 6

[已解决]vc 2019 和devc 的报错问题

[复制链接]
发表于 2021-10-14 21:59:08 | 显示全部楼层 |阅读模式
20鱼币
在dev c++可以运行的代码 一模一样复制到 vs2019发现报错 这样要怎么样修改
最佳答案
2021-10-14 21:59:09
  1. #include <stdio.h>

  2. int main()
  3. {
  4.     char c;
  5.     double a, b;
  6.     printf("请输入式子");
  7.     scanf_s("%lf %c %lf", &a, &c, 1, &b); // &c后面加个参数1表面c只接收一个字符,这是scanf_s的用法
  8.     switch (c)
  9.     {
  10.     case '+':
  11.         printf("%.2f\n", a + b);
  12.         break;
  13.     case '-':
  14.         printf("%.2f\n", a - b);
  15.         break;
  16.     case '*':
  17.         printf("%.2f\n", a * b);
  18.         break;
  19.     case '/':
  20.         if (b != 0)
  21.         {
  22.             printf("%.2f\n", a / b);
  23.             break;
  24.         }
  25.         else if (b == 0)
  26.         {
  27.             printf("分母不能为零");
  28.             break;
  29.         }
  30.     }
  31.     return 0;
  32. }
复制代码

最佳答案

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-10-14 21:59:09 | 显示全部楼层    本楼为最佳答案   
  1. #include <stdio.h>

  2. int main()
  3. {
  4.     char c;
  5.     double a, b;
  6.     printf("请输入式子");
  7.     scanf_s("%lf %c %lf", &a, &c, 1, &b); // &c后面加个参数1表面c只接收一个字符,这是scanf_s的用法
  8.     switch (c)
  9.     {
  10.     case '+':
  11.         printf("%.2f\n", a + b);
  12.         break;
  13.     case '-':
  14.         printf("%.2f\n", a - b);
  15.         break;
  16.     case '*':
  17.         printf("%.2f\n", a * b);
  18.         break;
  19.     case '/':
  20.         if (b != 0)
  21.         {
  22.             printf("%.2f\n", a / b);
  23.             break;
  24.         }
  25.         else if (b == 0)
  26.         {
  27.             printf("分母不能为零");
  28.             break;
  29.         }
  30.     }
  31.     return 0;
  32. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-10-14 22:01:45 | 显示全部楼层
#include <stdio.h>

int main()
{
        char c;
        double a,b;
        printf("请输入式子");
        scanf("%lf %c %lf",&a ,&c,&b);
        switch (c)  
        {
                case '+':printf("%.2f\n",a+b);break;
                case '-':printf("%.2f\n",a-b);break;
                case '*':printf("%.2f\n",a*b);break;
                case '/':
                        if(b!=0)
                        {
                                printf("%.2f\n",a/b);
                                break;
                        }
                else if (b==0)
                        {
                                printf("分母不能为零");
                                break;
                        }
       
               
        }
        return 0;
}
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-10-14 22:02:26 | 显示全部楼层
本帖最后由 1579923417 于 2021-10-14 22:03 编辑

在vs2019里
就算是把 scanf改成 scanf_s 也会报错
QQ图片20211014215648.png QQ图片20211014215654.png QQ图片20211014215808.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-10-14 22:22:11 | 显示全部楼层
在文件的最前面写上这个试试
  1. #define _CRT_SECURE_NO_WARNINGS
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-10-15 06:47:40 | 显示全部楼层
人造人 发表于 2021-10-14 22:22
在文件的最前面写上这个试试

可以了 谢谢大佬
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-10-15 06:49:55 | 显示全部楼层

懂了 谢谢大佬
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-26 00:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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