为什么我的scanf不能正常工作,当我移动它时,它可以正常工作吗? [重复]

问题描述 投票:-1回答:1

我想用C语言编写一个简单的计算器,但是当我运行此代码时,它只会获取我的数字,而不会获取我的运算符,并且会从运行窗口中消失!当我将scanf运算符移动到另一个scanf的顶部时,它工作正常!为什么?!!!

float num1, num2;

char op;
scanf("%f", &num1);
scanf("%f", &num2);
scanf("%c", &op);

switch(op)
{
    case '+':
    printf("%f + %f = %f", num1, num2, num1 + num2);
    break;
    case '-':
    printf("%f - %f = %f", num1, num2, num1 - num2);
    break;
    case '*':
    printf("%f * %f = %f", num1, num2, num1 * num2);
    break;
    case '/':
    printf("%f / %f = %f", num1, num2, num1 / num2);
    break;

    default :
    printf("error");
}

return 0;

我想用C语言编写一个简单的计算器,但是当我运行此代码时,它只会获取我的数字,而不会获取我的运算符,并且会从运行窗口中消失!当我将scanf运算符移到...

c input scanf
1个回答
2
投票

此呼叫中的格式字符串


-1
投票

始终检查scanf的结果。我个人更喜欢fgets和sscanf。

© www.soinside.com 2019 - 2024. All rights reserved.