我已经看过其他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/