1579923417 发表于 2021-10-14 21:59:08

vc 2019 和devc 的报错问题

在dev c++可以运行的代码 一模一样复制到 vs2019发现报错 这样要怎么样修改

hrpzcf 发表于 2021-10-14 21:59:09

#include <stdio.h>

int main()
{
    char c;
    double a, b;
    printf("请输入式子");
    scanf_s("%lf %c %lf", &a, &c, 1, &b); // &c后面加个参数1表面c只接收一个字符,这是scanf_s的用法
    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;
}

1579923417 发表于 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;
}

1579923417 发表于 2021-10-14 22:02:26

本帖最后由 1579923417 于 2021-10-14 22:03 编辑

在vs2019里
就算是把 scanf改成 scanf_s 也会报错

人造人 发表于 2021-10-14 22:22:11

在文件的最前面写上这个试试
#define _CRT_SECURE_NO_WARNINGS

1579923417 发表于 2021-10-15 06:47:40

人造人 发表于 2021-10-14 22:22
在文件的最前面写上这个试试

可以了 谢谢大佬

1579923417 发表于 2021-10-15 06:49:55

hrpzcf 发表于 2021-10-14 23:42


懂了 谢谢大佬
页: [1]
查看完整版本: vc 2019 和devc 的报错问题