【发布时间】:2014-11-07 02:14:05
【问题描述】:
我正在学习 switch 语句,我理解逻辑并且除了我的程序之外的所有东西都会打印第二个 switch 语句。它正在读取 &digit1 但我不认为它的读取 &digit2 用于第二个开关。我已经看过其他帖子,但我找不到任何可以帮助我的东西,至少我可以掌握大声笑。我没有收到任何错误,但不明白为什么它的打印开关(digit1)而不是开关(digit2)感谢您的帮助。 这是我现在的代码。
#include <stdio.h>
int main (void)
{int digit1;//user's first number
//digit1 = number/10
int digit2;
//digit2 = number%10
int number;;//users second number
printf("Enter a two digit number less than 100:\n");
scanf("%d", &digit1, &digit2);
switch(digit1)
{
case 0:
printf("zero");
break;
case 1:
printf("one");
break;
case 2:
printf("two\n");
break;
case 3:
printf("three");
break;
case 4:
printf("four");
break;
case 5:
printf("five");
break;
case 6:
printf("six");
break;
case 7:
printf("seven");
case 8:
printf("eight");
break;
case 9:
printf("nine");
break;
switch (digit2)
{
case 0:
printf("zero");
break;
case 1:
printf("one");
break;
case 2:
printf("two\n");
break;
case 3:
printf("three");
break;
case 4:
printf("four");
break;
case 5:
printf("five");
break;
case 6:
printf("six");
break;
case 7:
printf("seven");
case 8:
printf("eight");
break;
case 9:
printf("nine");
break;
default:
printf("\nYou must enter a valid number");
break;
}
}
}
【问题讨论】:
-
scanf("%d", &digit1, &digit2);仅将单个数字(可能有多个数字)读入digit1。 -
你的第二个开关在第一个的体内。
标签: c switch-statement