关于switch的一些问题,关于switch case语句的问题

2020-12-09 09:52:45 字数 5834 阅读 1647

1楼:匿名用户

和你的账号有关,只要是新的账号开游戏就是从头开始,一台switch可以登录多个不同服的账号。

关于switch case语句的问题

2楼:

确实不行。编译器报错(case label does not reduce to an integer constant)

如果硬要用switch-case,只能另外设定一个变量b, 当a在[1000,2000]区间里面的时候赋值b=1;

if(a<=2000 && a>=1000)b=1;

switch(b)

case 1: p=p*0.9;

case 2: ............;

.........

.........

3楼:我家小私儿

#include

usingnamespacestd;

intmain()

{doublehour,payper,pay;do{cout<<"输入工作时数及单位时间基本工资:";

cin>>hour>>payper;

boolf1=(hour>40);

boolf2=(hour>50);

switch(f1)

{case0:

pay=hour*payper;

cout<<"输出:"<参考我的这个**,题目在http://zhidao.

baidu.***/question/494793277752591964.html?

oldq=1

满意记得采纳哦!

4楼:鸣天飞鸟

int n;

float price;

if (1000

这种方式来设置

5楼:御江奈会欣

错误是:每个case

语句必须包含一个常量表达式做其变量,这个值不能在switch语句的各级中出现

多次意思是switch()

a和b的值不能相等,15||-3||12结果为真(即为1)-15||3||-12结果为真(即为1),两个1重复了,所以报错。建议改为

switch

(b)case

(-3):

case

(12):

case

(-15):

case

(3):

case

(-12):

default:

cout<<"both

ofyou

arewinners!";}

6楼:匿名用户

case 1000 ... 2000 : 解决

关于switch的几个问题

7楼:安徽新华电脑专修学院

switch在一些计算机语言中是保留字,其作用大多情况下是进行判断选择。以c语言来说,switch(开关语句)常和case break default一起使用。

switch语句

格式:switch(表达式)

关于c语言switch的问题

8楼:匿名用户

case1:

//此块bai**不能再声明变量,

du如果你声明变量就会报错,zhi除非dao用括号括起来,这是编专译器的问题,也属可以说是c语言的规定。写**的时候注意就成了。就像c语言再声明的时候不能赋值一样,记住就好了。

break;

希望对你有所帮助。

9楼:匿名用户

不是编译器的问题,是你case 1里面的内容有问题,如果需要进一步解答,请贴出case 1里面的内容,或详细说明里面的内容。。。

10楼:顾永康

你在case语句中声明变量了?你可以把变量声明到顶部,或者加大括号声明在case1中。

11楼:匿名用户

case1 里面有什么啊 都没看见 怎么知道什么问题

有关switch语句中的几个问题?

12楼:匿名用户

case本身不要求一定按照顺序排列,default后面还有case也是可以的,只要序号能对上,程序就会执行

case 0:

default;

case 2:a=5;

case 1:这样也是可以的,但是为了阅读方便,所以一般都是按照序号排列,default放到最后一句

先明确一点,switch是循环的一种,所以break是中断循环的操作,而你的这个例子中因为没有break语句,所以程序不会跳出switch,而是会默认执行下一条语句,这也是为什么default语句一般都放在最后的原因

switch=0

程序执行case 0:,因为没有break,所以自动执行下一条程序执行case 1:,同样因为没有break,所以自动执行下一条程序执行case 2:

a=5;这里也没有break,但这是switch的最后一句,所以程序会从第一句一直执行到这里才跳出switch循环

13楼:匿名用户

switch语句,里面每个case(包括default),是并列的,执行时会挨个找每个case(包括default),找到对应的值,就找到了一个入口,依次往下执行,除非碰到break;eg:1.switch(3)//输出342.

switch(3)//输出34default3.switch(5)//输出default34

14楼:匿名用户

你说的是java中的switch吗? 无论case在default前面还是后面. default中的语句总是在所有case都不匹配的情况下才执行的.

这个例子.c#是无法通过编译的.,.

按java的思路是先匹配0,满足条件.因为没有break跳出. 所以继续执行case 1,又因为没有break.

继续执行case2. 一直到遇到break为止.

15楼:匿名用户

找到匹配的条件,执行完就会跳出。 是0的话,执行完0内的操作就会退出

c关于switch问题,这是什么原理? 100

16楼:云海有梦不可知

当case语句大于等于4的时候,且每两个case之间产生的间隔之和不超过6时,就按线性结构查找。即,如下图的汇编里面的jmp dword ptr [edx*4+11b1428h]该指令里面的11b1428h地址里面,其存放着各个case语句的首地址。由于内存中下标是从0开始的,因此,通过对其进行减一操作,在判断其是否大于11b1428h地址的数组长度,如果大于直接跳出,否则通过计算直接定位到该数组上的地址进行跳转。

17楼:

case1:

//此块**不能再声明变量,如果你声明变量就会报错,除非用括号括起来,这是编译器的问题,也可以说是c语言的规定。写**的时候注意就成了。就像c语言再声明的时候不能赋值一样,记住就好了。

break;

希望对你有所帮助。

希望大神帮我解答关于switch( ){case :}的一些问题。

18楼:匿名用户

case 后没有语句就是没有任何动作,然后继续执行后面的case。掌握switch()语句,只要记住一句话:case是入口,然后会往下执行,直到碰到berak为止。

例如你这个程序:

#include

int main()

printf("%d",k);

return 0;

}i=1,那么switch里面的入口就是case 1,然后这个case没有任何动作,也没有break,那么他继续往下执行,执行case 2.k++,k=1.执行完后没有break,那么继续执行case3,k=2。

所以最后结果为2.

所以:case 1:

case 2:

k++;

和case 1:

k++;

case 2:

k++;

是不一样的哦。

19楼:正能量女战神

【详解】第一题

#include

int main()

printf("%d",k);

return 0;

}因为先执行i=1,case 1后空,无break语句,所以就一直做下去,两次k++后,k=2

第二题题目2

#include

int main()

}printf("%d\n",m);

return 0;

}根据i从0循环到4,i=0,经过m++ m++ m--,得出m=1;

i=1,经过m++ m++ m--,得出m=2;

i=2,没有符合条件的,m还是2;

i=3,经过 m++ m--,得出m=2;i=4,经过 m--,得出m=1;

亲,不懂可以继续追问~满意望采纳,o(∩_∩)o谢谢

20楼:匿名用户

第一题因为case 1后没有break,所以就一直做下去,两次k++后,k=2

第二题根据i从0循环到4,i=0,经过m++ m++ m--,得出m=1;i=1,经过m++ m++ m--,得出m=2;i=2,没有符合条件的,m还是2;i=3,经过 m++ m--,得出m=2;i=4,经过 m--,得出m=1;

21楼:茫茫路远何处去

case后面如果没语句 把后面的所有语句作为他的 语句块。case 1: case 2: k++ 相当于

case 1:

22楼:张大炮搞基的

就是遇见break跳出switch 不然会往下一次执行case的 。1楼详解很清楚了

关于c语言问题中switch语句的使用问题

23楼:匿名用户

#include

voidmain()

printf("\n");

return;

}差不多就这样

24楼:

你需要进行相应的assiic码值计算,x在输出前进行加64计算就可以了;

25楼:匿名用户

case 1: 改成 case a:

然后建议你switch里面最好加个default

switch(x)

26楼:晓破苍穹

#include

intmain()

return0;}

27楼:匿名用户

#include

int main()}}

28楼:歌梦复兴

case 1:改成case '1':,你这个1是int型,你怎么能switch的到?scanf("%d\n",&x);

改成scanf("%c\n",&x);

c语言关于switch问题

29楼:匿名用户

回答:1.由于输复入200,并且

制200<2000所以c=(int)(in***e/200)=0;

由于switch的case里面没有0,所以执行default语句,得到tax=in***e*0.4=80

2.switch的case只能是具体的值,所以,如果要达到这样的效果的话,可以借助if--else if--else语句来完成。

关于晨跑的问题,关于晨跑的一些问题

1楼 不得不赞 晨跑有很多注意事项的,首先要看你自己的状态,如果身体太虚还是先从跳绳开始锻炼吧,如果体能一般那么就要考虑外在坏境因素了。然后室外晨跑的话,第一要考虑的是外界pm2 5的含量,如果空气质量太差则会影响呼吸 可能会有严重后果 ,然后看外界温度和空气湿度,温度太低或者湿度太大都不适合跑步,...

关于狸花猫的一些问题,关于猫的问题 50

1楼 有可能是品种问题 比如说和别的猫猫杂的 也有可能是喂养方法,比如说喂得多长得胖胖的,看起来就圆头圆脑的 o o 2楼 匿名用户 品种,因为不一定都是跟什么串的,所以什么样的都有。 关于猫的问题 50 3楼 匿名用户 在全世界宠物猫都是深受人们喜欢的宠物类型,然而在中国,因为历史原因,猫在古代并...

关于塔罗牌占卜的一些问题

1楼 匿名用户 塔罗牌最好不要随便让别人摸,人手都是不干净的,容易使塔罗牌失去灵性,为别人占卜时也要自己亲力亲为,测者只需指出要哪张牌就可以了,以自己的方向为方向,也就是说你看是正位就是正位逆位就是逆位 2楼 饕魅 首先牌不是放在他面前 是放在你面前 也不是他翻牌是你 理也一样! 3楼 烂心配烂肺 ...