int i; i=20; switch(i/10) case 2:printf("A"); case 1:printf("B") 结果是什么,

如题所述

int i; i=20; switch(i/10) case 2:printf("A"); case 1:printf("B") 结果是A。

int i; 意思是设置数字类型的变量i。

i=20; 意思是赋值变量i等于20。

switch(i/10) case 2:printf("A"); case 1:printf("B")意思是判断当(i/10) 的值为2时,输出字母A,当(i/10) 的值为1时,输出字母B。

因为i=20,所以i/10=20/10=2,因此,输出字母A。

扩展资料:

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

当变量表达式所表达的量与其中一个case语句中的常量相符时,就执行此case语句后面的语句,并依次下去执行后面所有case语句中的语句,除非遇到break;语句跳出switch语句为止。如果变量表达式的量与所有case语句的常量都不相符,就执行default语句中的语句。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-03-01
答案是:
AB
每个case后面没有break ,因此程序从case 2往下执行,输出AB本回答被提问者和网友采纳
第2个回答  2014-06-06
打印结果为00 原因在于因为0对应的是case 0 所以打印出0 但是没有break 所以程序接着运行 所以打印第二个0
对于switch的理解你可能需要一点汇编知识 这里我用c语言的goto语句给你解释一下为什麽
switch(i) //这里有一个查询表建立的过程。cpu会在这里判断i是什么数值,鉴于你这里i 是0 所以goto到a
{
a: case 0:printf(.....); //运行到这里由于没有break 程序不能结束此语句,所以继续运行

b: case 2:printf(.........);break; //break 的实质就是一个跳转 此处将会跳转到d出
c: default : printf(..........);
}
d:

楼主可以将case 2中的break去掉 你会发现控制台(就是你第一次运行打印hello world的黑框)会打印三个0
第3个回答  2012-01-01
你这个好像没法运行吧,我记得switch后面的case组合用{ }括起来的,如果括起来就是AB了
第4个回答  2012-01-01
AB

用switch语句编程时,如何判断输出结果是否正确?
int i; i=20; switch(i\/10) case 2:printf("A"); case 1:printf("B") 结果是A。int i; 意思是设置数字类型的变量i。i=20; 意思是赋值变量i等于20。switch(i\/10) case 2:printf("A"); case 1:printf("B")意思是判断当(i\/10) 的值为2时,输出字母A,当(i\/10) 的值为1时...

c++里,用switch编写程序 给出一个百分之的成绩,要求输出成绩等级A B
include <iostream>using namespace std;int main() { int i; cout << "请输入成绩" << endl; cin >> i; switch (i \/ 10) { case 10: cout << "A"; break; case 9: cout << "A"; break; case 8: cout << "B"; break; case ...

switch语句里case 2为什么还要执行
int a=1,b=0;switch(a) { case 1 :switch(b) { case(0):printf("%d",0);break;case(1):printf("%d",1);break;} break;\/\/这里应该加一个 case 2:printf("2***");break;}

C语言,选啥,求过程。
i = 2,case 1 不成立,不输出;case 2 成立,输出 2,不过其后面没有break,也执行 default 的输出语句,所以又输出 2。所以最终的结果为“011122”。测试结果

C语言用switch语句进行成绩等级判断
C语言用switch语句进行成绩等级判断可以采用以下的代码:main(){int i,a;scanf("%d",&a);i=a\/10;switch a {case '10':case '9': printf("A"); break;case '8': printf("B"); break;case '7': printf("C"); break;case '6': printf("D");else printf("E");} } ...

执行下列程序段后,i的正确结果是( ) int i=10; switch(i) {_百度...
D 执行三步,i++;++i;i+=i;

...int i; for(i=0;i<3;i++){ switch(i){ case 1:printf("%d",i...
break只跳出一重循环 跳出了switch 没有跳出for循环

switch 语句case执行顺序,什么时候执行case1
你switch里面是i%5,所以当你的i=1时,i%5=1,这时候就会执行你的case 1。

...x==2) { case1:printf();break; case2:printf();break; }
因为x==2的结果只可能是0或者1,所以case 2永远进不去。

c语言、、、
原因是:i\/10的值为2 (整形除以整形结果为整形) 所以从case 2处开始执行,先输出A; 此时还未碰到break ,所以继续往下执行 printf("B"); 输出 B。如果只想输出A,则应在printf("A");后面加上break;switch语句结束条件:碰到到break 或执行结束(碰到})case \\ default 只是...

相似回答