为什么我无法获得输入值?

时间:2017-04-10 13:30:22

标签: c

我无法将输入值分配给bj。 例如,当我输入756时,我期望得到的是UTC at the same time: 2356,但是计算机会给我UTC at the same time: 1600

#include <stdio.h>
int main()
{
    int bj;
    scanf("Input a BJT: %d", &bj);
    if(bj>=0&&bj<=2359&&bj%100<60)
    {
        if(bj<800)
            bj+=1600;
        else
            bj-=800;
        printf("UTC at the same time: %d",bj);
    }
    else
        ;
    return 0;
}

3 个答案:

答案 0 :(得分:0)

scanf("Input a BJT: %d", &bj);

您在某种程度上混淆了printfscanf功能。 scanf指定输入应该是什么,因此您不希望输出内容在那里以及它最终会在您的输入中期望它。

将它们拆分出来。

printf("Input a BJT:\n");
scanf("%d", &bj);

答案 1 :(得分:0)

scanf("Input a BJT: %d", &bj);

这条线搞砸了。使用它像:

printf("Input a BJT: ");
scanf("%d", &bj);

检查此link

答案 2 :(得分:0)

有两种解决方案:

1

printf("Input a BJT:\n");
scanf("%d", &bj);

2。 输入时,您应在输入Input a BJT:的值之前输入bj。例如,我希望bj等于756,因此我输入Input a BJT: 756