C primer plus第六版第88页讲了一个转换不匹配的例子
c语言吧
全部回复
仅看楼主
level 3
wl5577 楼主
原文第三行运行结果是错的,为啥我devc上第三行是
正确的
啊?
2024年04月04日 10点04分 1
level 12

说明符和实际类型不匹配是未定义行为,不一样是正常的,不同编译器对待未定义行为的处理不一样,不同系统,或者long实际字节数不一样的情况下运行结果也可以不一样,书里说的很清晰了
2024年04月04日 11点04分 2
@wl5577 电子书的神奇排版[滑稽] 总共1635页
2024年04月04日 11点04分
吧务
level 14

因为你用的是Windows,书上是unix
2024年04月04日 11点04分 3
@wl5577 因为Windows上long是4字节,x64 *nix是8字节。这属于特定平台的实现细节,你的代码写对了,不管平台怎么实现都能得到正确结果;没写对,那结果对不对就不好说了。
2024年04月04日 13点04分
windows参数传递时不按书上那种来吗?
2024年04月04日 12点04分
1