18、程序片段:在TC20中, int i=65536; printf("%d\n",i);的输出结果是
18、程序片段:在TC20中, int i=65536; printf("%d\n",i);的输出结果是____
A) 65536 B) 0 C) 有语法错误,无输出结果 D) -1 |
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|
0,原因:65536的2进制1000...00(16个0),而int在tc20中为16位,舍弃高位1,结果为0 |
|
|
|
|
TC2.0...这 IDE 可真够老的了,现在 C 二级还以这个为准出题的吗......
如果它的编译器也遵循 C 标准的话,那其实 C 标准没有具体规定这时的行为——这样左侧是有符号整型时——具体发生的行为是实现相关的。
那么如果 TC 在这种情况下选择进行“按位截断”,那结果就是 0。 |
|
|
|
|