首页 > 解决方案 > 我对 C 编码很陌生,我不知道为什么我的粗略计算器代码不起作用

问题描述

我认为它与第二个 scanf 函数或 if/else 语句有关。

#include <stdio.h>

int main()

{
int n1;
int n2;
char op;

printf("insert first number: ");
scanf("%d", &n1);


printf("Insert operation (+, -, *, /): ");
scanf("%c", &op);


printf("insert second number: ");
scanf("%d", &n2);

if(op='+')
{
    printf("%d + %d = %d", n1, n2, n1+n2);
}
else if(op='-')
{
    printf("%d - %d = %d", n1, n2, n1-n2);
}
else if(op='*')
{
    printf("%d * %d = %d", n1, n2, n1*n2);
}
else if(op='/')
{
    printf("%d / %d = %d", n1, n2, n1/n2);
}
else
{
    printf("error [use +, -, *, /]");
}

当我运行它时,它等待我输入第一个数字,然后打印第二个提示,但不是等待我输入操作,而是直接跳到打印第三个提示,我不知道为什么。

标签: cvariablescharcalculator

解决方案


试试这个。在 switch 案例中尝试此编码。你会得到预期的结果。使用开关(ch);并在每个案例后休息。


推荐阅读