黑马程序员技术交流社区

标题: 问一个问题不知道大家有没有遇到 [打印本页]

作者: 我爱吃丶柠檬    时间: 2014-11-27 15:42
标题: 问一个问题不知道大家有没有遇到
我每次在看视频的是,MJ老师讲完一部分我都会敲代码练习,但是为什么在Xcode里面运行的C语言代码和在Windows环境下用Visual C6.0运行的结果不一样,不止一次这种情况了

作者: 我爱吃丶柠檬    时间: 2014-11-27 16:04
自顶一下
作者: Jr_711    时间: 2014-11-27 16:12
应该是因为编译器不一样

VC的是32位
Xcode的是64位
作者: weizhang00    时间: 2014-11-27 19:03
你是指哪里不一样,贴出来看看
我仔细想了想,除非是垃圾值能不一样,正常写法怎么会不一样?
目前学习程度的程序根本用不到32位和64位的区别
作者: 丶有果灬    时间: 2014-11-27 23:34
对,应该是编译器问题,还好吧!都可以啊。。。
作者: 我爱吃丶柠檬    时间: 2014-11-28 10:06
这是其中的一个,还有其它的就不上传了

1.png (113 KB, 下载次数: 31)

1.png

2.jpg (53.17 KB, 下载次数: 32)

2.jpg

作者: 我爱吃丶柠檬    时间: 2014-11-28 10:08
weizhang00 发表于 2014-11-27 19:03
你是指哪里不一样,贴出来看看
我仔细想了想,除非是垃圾值能不一样,正常写法怎么会不一样?
目前学习程度 ...

已在下面贴图
作者: weizhang00    时间: 2014-11-28 10:52
我爱吃丶柠檬 发表于 2014-11-28 10:08
已在下面贴图

这个还真是有意思,首先你应该注意到了那个警告
这个函数会溢出污染不相关的空间,一般来说是不要用这个函数
你打印下sizeof char 看看是不是不一样长
作者: 我爱吃丶柠檬    时间: 2014-11-28 11:31
weizhang00 发表于 2014-11-28 10:52
这个还真是有意思,首先你应该注意到了那个警告
这个函数会溢出污染不相关的空间,一般来说是不要用这个 ...

有什么错误吗

3.jpg (82.62 KB, 下载次数: 34)

3.jpg

作者: 我爱吃丶柠檬    时间: 2014-11-28 11:32
丶有果灬 发表于 2014-11-27 23:34
对,应该是编译器问题,还好吧!都可以啊。。。

感觉基本的运算应该牵扯不到吧
作者: 万雷    时间: 2014-11-28 12:48
是不一样的  ,因为 基于系统的区别
作者: weizhang00    时间: 2014-11-28 16:25
我爱吃丶柠檬 发表于 2014-11-28 11:31
有什么错误吗

我是说xcode中那个警告提示,gets这个函数是会溢出的污染的,你不要用这个函数就没事了
你两边打印下char类型的长度,不要打印s1,s2
这应该是位宽不同造成的,我手头没32的机器

作者: 我爱吃丶柠檬    时间: 2014-11-30 08:20
weizhang00 发表于 2014-11-28 16:25
我是说xcode中那个警告提示,gets这个函数是会溢出的污染的,你不要用这个函数就没事了
你两边打印下char ...

...我电脑是64的,只是编译器是32的
作者: 我爱吃丶柠檬    时间: 2014-11-30 08:22
万雷 发表于 2014-11-28 12:48
是不一样的  ,因为 基于系统的区别

既然这样,那就不纠结这个了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2