问几道简单c++题,高手帮忙解释下,谢谢

2024-12-21 23:02:10
推荐回答(4个)
回答1:

1.B
这个可以自己翻书。
2.14
这种题超级无聊,不同的编译器可能会有不同结果,这个是VC的结果。大概的解释是:
x+=x++,先是x+=x,然后x==10,然后++变成11
(x+=x++,x+8,++x)中间的x+8不起作用,这是个逗号表达式,值为最后一个式子的值,就是++x,变成12
然后y=2+12=14
3.444
这个问题很有意思,500被强制类型转换成为unsigned char,我们知道unsigned char是一个无符号的一个字节,于是从右边截取500的8个位:
111110100
变成
11110100
就是十进制的244,然后加上200,类型变成int,结果为444

回答2:

1 b
2 14
3 444

回答3:

1 B void是关键字 而scanf一个C语言自带的函数还是可以自己编一个盖过去的 Struct不是关键字struct才是

2 14

3 ASCII码没有超过255吧 500...

回答4:

1 B
2估计只有考试的时候会出现…… 翻书吧
3怎么看不大懂?