我正在做一个 switch case,其中 case 值需要是二进制数字,例如 01,010,0100,0,00,000,
等等。
switch(Code)
{
case 0:
{
printf("A");
break;
}
case 00:
{
printf("B");
break;
}
case 000:
{
printf("C");
break;
}
我知道如果我输入 000,它将被存储为 0。我的问题是你如何输入 000 以便我可以得到 printf("C")
最佳答案
我无法想象您为什么要区分这些数字,因为在任何表示中它们都是相同的数字,但我想您必须将它们作为字符串来检查。 您不能将字符串放入 C 中的 switch 语句中,因此您只需要有一系列 if/else 语句:
void selectString(char *input)
{
if(strcmp(input, "0") == 0)
{
printf("A");
}
else if(strcmp(input, "00") == 0)
{
printf("B");
}
else if(strcmp(input, "000") == 0)
{
printf("C");
}
}
话虽如此,您所问的问题看起来很像XY 问题,也就是说,您在问如何做奇怪的事情 Y,因为您认为您需要这样做才能解决 X。你想做什么?
关于c - 用二进制值切换大小写值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11904639/