为什么不行呢?出什么问题了🤔

img


和教程也对照过了,明明一样的(我感觉),为什么我就运行不出结果呢,找不到问题在哪?

将第7行:scanf_s("%lf%c%lf", &a, &c, &b); 修改为:scanf_s("%lf%c%lf", &a, &c, 1, &b); 即可。

是不是 %lf 写成了 %1f
注意是字母 L 的小写

你输入数据的时候加空格啊。

網上看到是輸入兩組數字,然後輸入 運算子(Operator)。
而且需要 空格區分。

【以下回答由 GPT 生成】

从你提供的代码和错误信息来看,问题可能出在 scanf_s 函数上。scanf_s 是安全版本的 scanf 函数,它要求你传入输入变量的大小作为额外的参数。但是你的代码中没有传入这个参数,这可能导致程序运行时的错误。

为了解决这个问题,你可以使用 scanf 函数来替代 scanf_s,并且在代码开头加入头文件 #define _CRT_SECURE_NO_WARNINGS 来禁用安全检查。

以下是修改后的代码:

#include <stdio.h>
#define _CRT_SECURE_NO_WARNINGS

int main() {
    double a, b;
    char c;
    printf("请输入 a+(-,,/)b: ");
    scanf("%lf%c%lf", &a, &c, &b);
    switch (c) {
        case '+':
            printf("%lf\n", a + b);
            break;
        case '-':
            printf("%lf\n", a - b);
            break;
        case '*':
            printf("%lf\n", a * b);
            break;
        case '/':
            printf("%lf\n", a / b);
            break;
        default:
            printf("错误!\n");
            break;
    }
}

请尝试运行修改后的代码,看是否能够得到正确的结果。如果问题仍然存在,请提供更多的错误信息以便进一步排查问题。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^