| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1464 人关注过本帖
标题:再来一个问题
取消只看楼主 加入收藏
冯一超
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2008-5-24
收藏
 问题点数:0 回复次数:3 
再来一个问题
#include <stdio.h>
int main()
{
    int a;
    int b;
    char c[3];
    scanf("%s",c);
    printf("%s",c);
    return 0;
}
①这个数组的长度是三,但是如果我输入“123456789”结果会正常显示,不是溢出了吗??为什么??
②我发现输入的字符数小于等于12个,则结果正常显示,但是超过12个,运行后系统提示应用程序错误:“0x004017fc”指令引用的“0x0012001a”内存。该内存不能为“written”。
但是结果仍能正常显示!!为什么?
③我把char c[3]改成char *c就不行了,原理不是一样的吗?为什么不行?
搜索更多相关主题的帖子: 内存 int char 系统 结果 
2008-07-15 13:51
冯一超
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2008-5-24
收藏
得分:0 
回复 2# 心若止水 的帖子
哪有!!!!!你还残忍啊!!!!!!!!!!!!!!!!!!!!!!!!
2008-07-15 16:22
冯一超
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2008-5-24
收藏
得分:0 
回复 3# hello_moto 的帖子
前面的两个变量a,b是没有意义的呀,我只不过忘记删除,放那里也不碍事。
两次printf("a=%x, b=%x\n", a, b);的结果难道不一样??、
2008-07-15 16:44
冯一超
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2008-5-24
收藏
得分:0 
回复 7# wh007008 的帖子
c就是地址了
0x是十六进制整型,不过不知道这样做有什么意义
2008-07-15 16:58
快速回复:再来一个问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017115 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved