现在的代码
int main()
{
char card_name[3];
puts("输入牌名: ");
scanf("%2s", card_name);
int val = 0;
if (card_name[0] == 'K') {
val = 10;
} else if (card_name[0] == 'Q') {
val = 10;
} else if (card_name[0] == 'J') {
val = 10;
} else if (card_name[0] == 'A') {
val = 11;
} else {
val = atoi(card_name);
}
/* 检查牌的点数是否在3到6之间 */
if ((val > 2) && (val < 7))
puts("计数增加");
/* 否则,检查牌是否为10、J、Q或K */
else if (val == 10)
puts("计数减少");
return 0;
}
C程序经常需要多次检查同一个值,并且在每一种情况中执行非常类似的代码片段。
可以使用一连串的if
语句,这没有错,但对于这种逻辑,C语言提供了替代的写法。
C语言可以用switch语句进行逻辑测试。