免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3477 | 回复: 15
打印 上一主题 下一主题

怎么搞的 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-01-08 19:44 |只看该作者 |倒序浏览
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
        const int a = 3;

    int *p = (int *)&a;
    *p = 100;
    printf("%d\n",*p);
    printf("%d\n",a);

       
        return 0;
}

在VC8上的运行结果
100
3

论坛徽章:
0
2 [报告]
发表于 2009-01-08 19:53 |只看该作者
经过在vc6上验证,运行结果正确

论坛徽章:
0
3 [报告]
发表于 2009-01-08 19:53 |只看该作者
后来p的指针又改变了

论坛徽章:
0
4 [报告]
发表于 2009-01-08 19:55 |只看该作者
原帖由 eveson 于 2009-1-8 19:53 发表
经过在vc6上验证,运行结果正确

为什么和gcc不一样

论坛徽章:
0
5 [报告]
发表于 2009-01-08 19:58 |只看该作者
gcc上结果是多少,我这没有环境

论坛徽章:
0
6 [报告]
发表于 2009-01-08 19:59 |只看该作者
原帖由 eveson 于 2009-1-8 19:58 发表
gcc上结果是多少,我这没有环境

100
100

论坛徽章:
0
7 [报告]
发表于 2009-01-08 20:00 |只看该作者
常量常量,什么叫常量?常量就是常常变回去的量!
开玩笑,不过你这是在通过地址修改常量的值,这样的行为非法。
以后这种结果不确定的事不要做了,因为做了之后谁心里都没有底。该是变量的就变量,该是常量的就常量。



[ 本帖最后由 langue 于 2009-1-8 20:01 编辑 ]

论坛徽章:
0
8 [报告]
发表于 2009-01-08 20:01 |只看该作者
原帖由 langue 于 2009-1-8 20:00 发表
常量常量,什么叫常量?常量就是常常变回去的量!
开玩笑,不过你这是在通过地址修改常量的值,这样的行为非法。

恩 要去玩火 编译器也拿我没办法
版主这可不可以解释为标准留给实现者自己解决的地方呢?

论坛徽章:
0
9 [报告]
发表于 2009-01-08 20:05 |只看该作者
原帖由 langue 于 2009-1-8 20:00 发表
常量常量,什么叫常量?常量就是常常变回去的量!
开玩笑,不过你这是在通过地址修改常量的值,这样的行为非法。
以后这种结果不确定的事不要做了,因为做了之后谁心里都没有底。该是变量的就变量, ...

好了好了 加了 -ansi -pedantic -errors终于段错误了

[ 本帖最后由 blizzard213 于 2009-1-8 20:08 编辑 ]

论坛徽章:
0
10 [报告]
发表于 2009-01-08 20:06 |只看该作者
想玩内存,去找个开发板裸跑去吧:wink:
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP