我已经看过其他scanf帖子,但是我似乎找不到这段简短代码的问题。
问题是,当我输入b或c时,它不会转到if或else if语句,我无法真正弄清楚如何解决它,任何帮助都将很可爱!谢谢!

#include <stdio.h>

int main(void)

{

char bogstav, a, b, c;

printf("Indtast a b eller c\n");
scanf("%c", &bogstav);

    if(bogstav == a)
    {
    printf("Du valgte a");
    }
        else if(bogstav == b)
        {
        printf("Du valgte b");
        }
            else if(bogstav == c)
            {
            printf("Du valgte c");
            }
                else
                {
                printf("Du valgte ikke a b eller c!");
                }
return 0;
}

最佳答案

您的代码中的问题是您想将bogstav与c字符的值而不是c值进行比较,但是您正在以另一种方式进行操作:P

只需执行if(bogstav =='b')检查bogstav是否等于b字符。

#include <stdio.h>

int main(void)

{

char bogstav;

printf("Indtast a b eller c\n");
scanf("%c", &bogstav);

    if(bogstav == 'a')
    {
    printf("Du valgte a");
    }
        else if(bogstav == 'b')
        {
        printf("Du valgte b");
        }
            else if(bogstav == 'c')
            {
            printf("Du valgte c");
            }
                else
                {
                printf("Du valgte ikke a b eller c!");
                }
return 0;
}

关于c - 了解scanf,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12959548/

10-10 08:00