关于switch语句
#include <stdio.h>int main()
{
char ch;
int a, e, i, o, u;
a = 0;
e = 0;
i = 0;
o = 0;
u = 0;
printf("请输入一个英文句子:");
while ((ch = getchar()) != '\n')
{
switch (ch)
{
case 'a':
case 'A': a++;
break;
case 'e':
case 'E': e++;
break;
case 'i':
case 'I': i++;
break;
case 'o':
case 'O': o++;
break;
case 'u':
case 'U': u++;
break;
}
}
printf("您输入的句子中,包含元音字母%d个!\n", a + e + i + o + u);
printf("其中:a(%d),e(%d),i(%d),o(%d),u(%d)\n", a, e, i, o, u);
return 0;
}
请问case 输入大写字母后面为什么要跟一个++ ?还有就是为啥case 输入小写后面就不用跟东西 不是不用加这个代码的意思的不区分大小写case后面只有遇到break才会跳出switch 没有遇到break 就会继续向下执行 ++的意思是字符对应的计数器加一啊。
小写字母后面的:后面不写东西的意思是,执行下一个case即大写字母对应的语句啊! 这个题目的意思是当你输入的是元音字母,不论是大小写对应的元音字母数量都+1。
case'a':
case'A':a++;
break;
在符合case'a'条件后,执行case'a'后面的语句。并因为第一个case'a'后面没有break;所以会自动执行下面case'A'的a++;break; 只有遇到break;或执行完才会下一轮
意思就是当你输入小写a或大写A时,都是元音字母,数量+1; major_lyu 发表于 2020-2-25 18:12
++的意思是字符对应的计数器加一啊。
小写字母后面的:后面不写东西的意思是,执行下一个case即大写字母对 ...
懂了懂了 谢谢大佬 te___amo 发表于 2020-2-25 18:11
不是不用加这个代码的意思的不区分大小写case后面只有遇到break才会跳出switch 没有遇到break 就会 ...
明白了明白了 谢谢大佬
页:
[1]