c语言switch语句问题?

2025-02-01 17:57:01
推荐回答(4个)
回答1:

因为不知道你的输入是什么,因此无法分析你的结果为什么是14,15,但是从代码来看这个结果很有可能。

switch case 语句在遇到break前,是会不断往下运行的,而你的代码里,一句break都没有,因此,这段代码会从开始运行一直到花括号结束。

default的意思是所有case条件都不满足,就会跳到这里运行,这点和case其实没区别,比如你输入'e',就会跳到case 'e'这里开始运行一样,但是前面说了,你的case后面没有break,因此,即使你输入'a','A','e','E','o','O'也会顺序运行到default这里,然后v1++,而你的default后面也没break,因此还会往后运行v2++,直到花括号结束。

如果你输入的是'i','I','u','U',由于在default后面,因此v1不会++,所以你的代码最后的结果会是:
v2等于你输入字符的长度,v1等于你输入字符长度减去'i','I','u','U'这样字符的个数。

回答2:

defailt 是当最后一个选择语句选项再加 1 例如 case3 .... 那么default 就是case4 ..

回答3:

不知道你输入的是什么,还有就是default在case语句中间的作用就是,其他case都不成立时所执行的语句

回答4:

你输入个什么得到14,15这个结果?