| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 355 人关注过本帖
标题:请教一下,这是不是溢出了?
只看楼主 加入收藏
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
结帖率:90.91%
收藏
已结贴  问题点数:15 回复次数:3 
请教一下,这是不是溢出了?
int *p=(int *)malloc(sizeof(int)); for(int i=0;i<5;i++)    scanf("%d",&p[i]); for(int e=0;e<5;e++)    printf("   %d\n",p[e]);   
输入多少就输出多少,把i改为10也正确,我认为p是4字节,而p[5]应该是20字节吧?(是不是应该改为int *p[5]?)这样写是不是不对啊?溢出了?
2011-05-06 20:35
misswe
Rank: 2
等 级:论坛游民
帖 子:17
专家分:15
注 册:2011-4-30
收藏
得分:0 
楼主 你能把你代码整理在发上来吗?
2011-05-06 21:00
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:5 
程序代码:
int *p[5];  //指针数组
int i;

for(i=0;i<5;i++)
p[i]=(int*)malloc(sizeof(int));  //要每个都要赋值

for(i=0;i<5;i++)
scanf("%d",p[i]);  //p[i]本身是指针,请对比scanf("%d",&x),后面要取地址

for(i=0;i<5;i+++)
printf("%d\t",*p[i]);  //*p[i]才是所存储的值,p[i]是地址

   唯实惟新 至诚致志
2011-05-06 22:12
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:10 
已经溢出了 你分配了一个整形空间却录入了5个整形数据

不溢出才怪呢

                                         
===========深入<----------------->浅出============
2011-05-06 22:29
快速回复:请教一下,这是不是溢出了?
数据加载中...
 
   



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

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