【发布时间】:2021-01-09 17:42:04
【问题描述】:
我在 C 编程中使用 switch case 解决了一个简单的元音和辅音问题,但得到了不同的输出。程序直接访问switch的默认情况。可能是case无法识别条件。
条件是:
case 'a'||'e'||'i'||'o'||'u':
printf("vowel");
break;
default:
printf("consonant");
【问题讨论】:
-
因为这不是在 C 中完成大小写替代的方式。您的案例标签等于
(char)1,ASCII 中的字段分隔符。 -
@bipll:就是
1;字符文字在 C 中具有int类型,而不是char。无论如何,大小写标签都会转换为控制表达式的类型(switch中的表达式)。此外,控制表达式受整数提升的影响,因此它至少是int,而不是char。
标签: c