gpt4 book ai didi

c - 使用带有数字大小写和字符大小写的开关

转载 作者:行者123 更新时间:2023-11-30 19:52:35 24 4
gpt4 key购买 nike

我想创建一个 switch 循环。

如果输入是从15。它会打印一个数字。否则它将打印“这不是数字”。如果输入是'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' 或任何字符。因为如果我这样做,我将创建一个悖论循环,或者根本不起作用。我哪里错了?

最佳答案

只需将整数视为这样的字符即可;

顺便说一句,您可能希望每次通过 while 循环读取一个新字符,否则您将永远陷入打印困境。下面的默认情况允许我们打破循环。

int main() {
char i,a = 0;
printf("Write something:");
scanf("%c", &i);
do{
switch (i)
{
case '1':
case '2':
case '3':
case '4':
case '5':
printf("%c",i);
break;
case 'e':
a=1;
break;
default:
printf("This is not a number");
break;
}
}while (a==0);
}

关于c - 使用带有数字大小写和字符大小写的开关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40678930/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com