看看溢出否

wqvbka123 2006-04-07 11:58:01
void fun(float *w,float x,int *n)
{int i,p;
p=0;
w[*n]=x;
while(x>w[p])p++; /*find the position*/
for(i=*n;i>p;i--)w[i]=w[i-1];
w[p]=x;
*n+=1;
}


main()
{static float a[5]={1,3,5,9,11};
int n=5,i;
fun(a,3,&n);
for(i=0;i<n;i++)
printf("%f\t",*(a+i));
}

插入一个数到一个已经排列好的数组中,不知道会溢出不? 一个老师写的!不敢怀疑他
...全文
214 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wqvbka123 2006-04-08
  • 打赏
  • 举报
回复
知道了 确实是
postren 2006-04-08
  • 打赏
  • 举报
回复
int n=5,i;
fun(a,3,&n);//w[*n]=x;此时*n==5,而数组a中元素数为5,所以溢出,非常危险
jixingzhong 2006-04-08
  • 打赏
  • 举报
回复
函数 第一步 就超了 数组范围了 ...
YFY 2006-04-08
  • 打赏
  • 举报
回复
楼主,要相信实践啊,老师也不是神仙,很多时候都会出错的,呵呵。

还有,你们老师的编程风格不好,不要学习。

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧