【发布时间】:2016-11-18 13:57:58
【问题描述】:
我想创建一个switch 循环。
如果输入是从1 到5。它会打印一个数字。否则它将打印"this is not a number"。如果输入是'e'。 switch 循环应该结束。
我可以输入数字部分,但我不知道如何输入'e'。它只是不会读。这是我的代码:
int main() {
int i,a = 0;
printf("Write something:");
scanf("%d", &i);
do{
switch (i)
{
case 1:
printf("1");
break;
case 2:
printf("2");
break;
case 3:
printf("3");
break;
case 4:
printf("4");
break;
case 5:
printf("5");
break;
case 'e':
a=1;
break;
default:
printf("This is not a number”);
break;
}
}while (a==0);}
我的问题是我无法输入'e' 或任何字符。因为如果我这样做,我将创建一个悖论循环,或者根本不工作。我哪里错了?
【问题讨论】:
-
为什么你要在同一个 (
int) 变量中混合字符和整数? -
什么是悖论循环?
-
@UnholySheep 我想这是我初学者的错。练习告诉我用数字和字符'e'做案例。所以我有点迷失在这里,我尝试这样......
-
@AdrianoRepetti 当我制作一个没有结束的循环时。它不会停止运行,直到占用所有内存。对我来说,使用这段代码:它会不断打印“这不是一个数字”数千次。
标签: c char switch-statement case