我已经看过其他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;
}
发布于 2012-10-19 00:46:17
代码中的问题是,您希望将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;
}
发布于 2012-10-19 00:42:16
您应该初始化变量a
、b
和c
。
发布于 2012-10-19 00:43:01
您希望这些字符是字面字符吗?
if(bogstav == 'a')
https://stackoverflow.com/questions/12959548
复制相似问题