下列语句序列执行后,K的值是int x=6,y=10,k=5
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/30 14:53:36
解释下:x%y是整除取余数,所以switch(x%y)相当于switch(6)然后再找6得K=0但是后面没有break不能跳出,继续后面的语句直到default前面没有改变xy的值,所以直接后最后一条
a=(--x==y++)-–x:++y;判断?:真假,--x=9y++=9--x==y++为真,取--x又因为判断的时候执行了一次--x,所以x变为9,y变为10a=8又执行了一次--x,x变为8b=
2%5=2%是取余操作,也就是2除以5以后得到的余数.所以,执行case2的操作,也就是x*y=2*5=10所以k=10.
if-else啊~在if里是8-1>16,很明显是假,则i--不执行,直接到else执行j--;所以i仍然是8.
intj=1;for(inti=5;i>0;i-=2)j*=i;for循环运行两次,第一次执行是1*=5;j的值变成5.第二次,i-=2,就相当于i=5-2=3;j*=i,j=j*i=5*3=15
果断选C6%10=6k=6/10=0.6因为intk属整形故k=0.
m=9j=7其他数字不变再问:M为什么是9哈,我有点不懂
选C每个case语句后要加break;不然会从满足条件的那个case开始,一直运行到default.因为j-i=8满足了第一个case,而每个case后面都没有break;所以先执行k++,这时k=3
switch(18-10=8)k++;k=30+1=31k+=2;k=k+2=31+2=33k+3;k=k+3=33+3=36k/j;k=k/j=36/18=2
执行的是r/=2,结果是3
a=4b=4x=5再问:大神,方便留个QQ吗
c)2因为在switch语句中如果case后不跟break,那么只要成立就会将之后的所有语句都执行
B.1如x++是先用了,再加一++x是先加一,再用第一步为while(3