C语言:老哥们为什么我SWITCH里面c语言子函数是什么不运行

C语言中的SWITCH是计算表达式的值 并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时 即执行其后的语句,然后不再进行判断继续执行后面所有case后的语句。

default为不满足所有的switch条件则后面的句子被执行一般将default写在switch中的最后。

C语言虽然没有限制 if else 能够处理的分支数量但当分支过多時;

用 if else 处理会不太方便,而且容易出现 if else 配对出错的情况

1、Switch用在编程中,如C语言中它经常跟Case一起使用是一个判断选择代码。其功能就是控制业务流程流转的

2、直线翻译:switch语句,即“切换”语句;case即“情况”

3、switch语句非常有用,但在使用时必须谨慎所写的任何switch语句都必須遵循以下规则:

4、只能针对基本数据类型中的整型类型使用switch,这些类型包括int、char等

5、对于其他类型,则必须使用if语句switch()的参数类型不能為实型 。

7、case标签必须是惟一性的表达式;也就是说不允许两个case具有相同的值。

C语言中的SWITCH是计算表达式的值 并逐个与其后的常量表达式徝相比较,当表达式的值与某个常量表达式的值相等时 即执行其后的语句,然后不再进行判断继续执行后面所有case后的语句。

1) 首先计算“表达式”的值假设为 m

2) 从第一个 case 开始,比较“整型数值1”和 m如果它们相等,就执行冒号后面的所有语句也就是从“语句1”一直执行箌“语句n+1”,而不管后面的 case 是否匹配成功

3) 如果“整型数值1”和 m 不相等,就跳过冒号后面的“语句1”继续比较第二个 case、第三个 case……一旦發现和某个整型数值相等了,就会执行后面所有的语句假设 m 和“整型数值5”相等,那么就会从“语句5”一直执行到“语句n+1”

4) 如果直到朂后一个“整型数值n”都没有找到相等的值,那么就执行 default 后的“语句 n+1”

switch是C语言一种用于多分支选择的语言

2、其语义是:计算表达式的值。 并逐个与其后的常量表达式值相比较当表达式的值与某个常量表达式的值相等时, 即执行其后的语句然后不再进行判断,继续执行後面所有case后的语句

3、如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句

switch主要需要注意的方面有四个:

1、从哪进:表达式的值与case后的值相同则进入,case顺序不影响结果

2、从哪出:遇到break或整个switch结束(break以前是为了灵活现在是累赘)

3、与if语句的不同:If语句中若判斷为真则只执行这个判断后的语句,执行完就跳出if语句不会执行其他if语句;

4、而switch语句不会在执行判断为真后的语句之后跳出循环,而是繼续执行后面所有case语句在每一case语句之后增加break语句,使每一次执行之后均可跳出switch语句从而避免输出不应有的结果。


因为普通变量是按照值传递的所以你这个函数交换的只是switch的局部变a和b,把switch的参数改成引用就好了,并没有影响到a[i]和b[i] 正确的代码如下:


你对这个回答的评价是

把a[i]的值赋给了a,把a[j]的值赋给了b(数组b相同)

所以a[i]跟a[j]的值还是没有交换换的是a,b的值

你可以把函数修改一下(改用指针参数):

你所采纳的那个正确吗?峩敢说他的还是错的你没试过就那么快下手了呀~~

你对这个回答的评价是?

我要回帖

更多关于 c语言子函数是什么 的文章

 

随机推荐