C语言,哪位大佬能帮我解释一下这题目是怎么算出来的

C语言,哪位大佬能帮我解释一下这题目是怎么算出来的看不懂。。。

13)NULL是定义的常量,其值为0,选D
14)0X02就是2,<<2是左移2位,相当于乘以2^2,所以输出值8,选C
15)f2('k')的值为2(因为case'k':k++;的后面没有break;所以继续执行下一行的k++排印再break),f2('y')的值为1(执行default:k++;),故选B
16)f3(10)的值为-1(因为j不断自减,当j==-1时就退出循环,然后返回-1)所以选A
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-04-20
null就是0嘛
0x02左移两位,左移一位相当于乘以2,所以0x02乘以4,就是8嘛

‘k’分支没有break;会继续执行到‘x’分支,所以是2嘛,‘y’进入的是defualt,所以是1嘛
当j变成0的时候,循环就结束了,退出循环的时候还会执行一下j--,就是-1嘛
相似回答