程序片段:在TC20中, int i=65536; printf("%d尀n",i);的输出结果是____ 结果是0,请问这是什么原因啊

我要参加18号的二级考试,请大家帮我看一下哈
2025-03-04 23:11:53
推荐回答(4个)
回答1:

65536 = 2^16
十六进制表示0x10000(17个二进制位)
整型数据是16位的,高位被舍弃,这样的话就是0x0000自然就是0了。
很多问题需要你用二进制思维方式,理解不了就死记硬背吧。

回答2:

65536(十进制) = 10000000000000000(二进制,一个1,16个0)
TC的整形是16位的,只截取到16个0,故结果是0

回答3:

这个程序可以运行!
但是,事实上错漏很多,首先。主函数声明为int,但是又没有返回值?
在输出语句里面,x == (1 && x)不是一个正常的输出语句···
执行结果是0。

如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!

回答4:

同一楼。