A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 我爱吃丶柠檬 中级黑马   /  2014-11-27 15:42  /  1375 人查看  /  13 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我每次在看视频的是,MJ老师讲完一部分我都会敲代码练习,但是为什么在Xcode里面运行的C语言代码和在Windows环境下用Visual C6.0运行的结果不一样,不止一次这种情况了

13 个回复

倒序浏览
自顶一下
回复 使用道具 举报
应该是因为编译器不一样

VC的是32位
Xcode的是64位
回复 使用道具 举报
你是指哪里不一样,贴出来看看
我仔细想了想,除非是垃圾值能不一样,正常写法怎么会不一样?
目前学习程度的程序根本用不到32位和64位的区别
回复 使用道具 举报
对,应该是编译器问题,还好吧!都可以啊。。。
回复 使用道具 举报
这是其中的一个,还有其它的就不上传了

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

1.png

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

2.jpg
回复 使用道具 举报
weizhang00 发表于 2014-11-27 19:03
你是指哪里不一样,贴出来看看
我仔细想了想,除非是垃圾值能不一样,正常写法怎么会不一样?
目前学习程度 ...

已在下面贴图
回复 使用道具 举报

这个还真是有意思,首先你应该注意到了那个警告
这个函数会溢出污染不相关的空间,一般来说是不要用这个函数
你打印下sizeof char 看看是不是不一样长
回复 使用道具 举报
weizhang00 发表于 2014-11-28 10:52
这个还真是有意思,首先你应该注意到了那个警告
这个函数会溢出污染不相关的空间,一般来说是不要用这个 ...

有什么错误吗

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

3.jpg
回复 使用道具 举报
丶有果灬 发表于 2014-11-27 23:34
对,应该是编译器问题,还好吧!都可以啊。。。

感觉基本的运算应该牵扯不到吧
回复 使用道具 举报
万雷 高级黑马 2014-11-28 12:48:32
11#
是不一样的  ,因为 基于系统的区别
回复 使用道具 举报

我是说xcode中那个警告提示,gets这个函数是会溢出的污染的,你不要用这个函数就没事了
你两边打印下char类型的长度,不要打印s1,s2
这应该是位宽不同造成的,我手头没32的机器
回复 使用道具 举报
weizhang00 发表于 2014-11-28 16:25
我是说xcode中那个警告提示,gets这个函数是会溢出的污染的,你不要用这个函数就没事了
你两边打印下char ...

...我电脑是64的,只是编译器是32的
回复 使用道具 举报
万雷 发表于 2014-11-28 12:48
是不一样的  ,因为 基于系统的区别

既然这样,那就不纠结这个了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马