用c写了个计算器程序,一输入回车后就报错,有大神能帮我看看这是怎么回事吗?

用c写了个计算器程序,一输入回车后就报错,有大神能帮我看看这是怎么回事吗?

问题描述:

用c写了个计算器程序,一输入回车后就报错,有大神能帮我看看这是怎么回事吗?

vc++2005/2008中提供了scanf_s(),在最新的VS2019中也提供了scanf_s()。在调用时,必须提供一个数字以表明最多读取多少位字符。

除了读取字符串外,即使读取单个字符也需要限定长度,例如:

scanf_s("%c,%c",&c1,1,&c2,1);而不能写成scanf_s("%c,%c",&c1, &c2,1, 1);

第7行改成

scanf_s("%lf %c %lf", &a, &c, 1, &b);

我用devc++写的:

#include<stdio.h>
int main(){
    double a, b;
    char c;
    printf("请输入式子:");
    scanf("%lf %c %lf", &a, &c, &b);
    switch(c){
        case '+':
            printf("%lf", a + b); break;
        case '-':
            printf("%lf", a - b); break;
        case '*':
            printf("%lf", a * b); break;
        case '/':
            printf("%lf", a / b); break;
        default:
            printf("式子错误"); break;
    }
}

不是处理字符串输入,还是直接用scanf吧

怎么获得金币