如上反汇编代码我们可以看出switch在一开始就直接将变量x-1与3进行比较,ja指令则表示大于则跳转(a表示above),但这变量x明显等于3,所以将值赋予edx,最后jmp跳到堆栈地址2*4+40d896(40d896+8),也就是0x40D89E对应的值: 最终跳转到0x0040d80c,打印出了C。 我自己机器上的实验: 为啥本质上是查找表呢?我自...
switch语句通过将表达式的值与常量值进行比对,如果相等则执行后面的语句,如果不相等则跳到下一个case语句,当表达式和常量值相等,switch语句会将当前case语句以及后面所有的case语句全部输出。假如我们要实现用户输入一个数字来判断今天是星期几,那么就可以用下面的代码实现。 AI检测代码解析 #define _CRT_SECURE_NO_WARN...
#include<stdio.h>intmain(){intday=0;//输入scanf("%d",&day);switch(day){case1:printf("星期一");case2:printf("星期二");case3:printf("星期三");case4:printf("星期四");case5:printf("星期五");case6:printf("星期六");case7:printf("星期天");}return0;} 1. 2. 3. 4. 5. 6....
switch结构在C语言中是一种多路分支选择结构,用于根据表达式的值来执行不同的代码块。其基本形式如下:switch(表达式) { case 常量表达式1:语句1;break;case 常量表达式2:语句2;break;case 常量表达式3:语句3;break;. . .case 常量表达式n:语句n;break;default:语句n+1;} 在这个结构中,"表达式"...
二、switch语句 1.一般形式 实例 2.省略式 实例 易错点: 三、if与switch语句混用 实例 四、总结 一、if语句 1.if语句 if(条件表达式){ 代码 } 如果表达式为真则执行{}里的代码,如果不满足表达式的条件则跳过。 特别注意if条件表达式后面是没有;的 ...
[toc] switch 选择结构 switch 的结束 执行到相等的 case 后面的整数,遇到 break 执行到 switch 语句的大括号 如果执行到对应的 case 时,但是没有写 break,此时后面的 case 和 default 语句会失效,但是里面的代码块不会失效(case 的穿透
简介 c语言switch的用法 方法/步骤 1 打开编辑器,写上注释内容。2 定义一个分数变量score并赋值。3 然后写上switch的开头,switch(score){}括号里面写上变量的名称。4 然后写上case 10,case后面跟的是变量的值。5 case下方写上符合条件之后要执行的动作。6 写上break语句作为结束。7 最后运行得到结果。
if语句是按条件来决定执行代码的,switch语句则更加直白——匹配执行。直接根据有限个匹配结果去逐一编写相应的执行语句,原理上来讲,switch语句完全可以被if语句取代,switch语句多用来“等值”的判断,if语句多用来逻辑值“真”和“假”的判断。 switch语句
分别输出提示信息和读取用户输入。接下来,我们使用 switch 语句根据购物金额计算打折率。在 switch 语句中,我们使用 (int)amount / 100 将购物金额除以100并取整,得到购物金额所在的区间。然后,根据不同的区间设置不同的打折率。最后,我们计算实际付款金额,并使用 printf 输出打折率和实际付款金额。Fl...