首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场

了解scanf
EN

Stack Overflow用户
提问于 2012-10-19 00:40:33
回答 5查看 391关注 0票数 0

我已经看过其他scanf帖子,但我似乎找不到我在这里有这个简短的代码的问题。问题是,当我输入b或c时,它不会转到if或else if语句,我真的不知道如何修复它,任何帮助都会很好!谢谢!

代码语言:javascript
运行
复制
#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;
}
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-10-19 00:46:17

代码中的问题是,您希望将bogstav与c字符的值进行比较,而不是与c字符的值进行比较,但您使用的是另一种方法:P

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

代码语言:javascript
运行
复制
#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;
}
票数 0
EN

Stack Overflow用户

发布于 2012-10-19 00:42:16

您应该初始化变量abc

票数 1
EN

Stack Overflow用户

发布于 2012-10-19 00:43:01

您希望这些字符是字面字符吗?

代码语言:javascript
运行
复制
if(bogstav == 'a')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12959548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档