ZhouYuSSS 2016-06-03 03:55 采纳率: 0%
浏览 1425

VC6.0数组长度问题,求解

代码如下,定义的数组长度为15,但是调试的时候看到自行增加几个长度记录其中的max,min,count等元素值,并且还能被输出来。
#include
#include
#include
#define N 15
sr(int a[],int i);
sc(int a[],int m);
js(int a[],int *max,int *min);
px(int a[]);
main()
{
int i,m,max,min,a[N];
srand(time(0));
for(i=0;i sr(a,i);
printf("m的值为:");
scanf("%d",&m);
printf("输出数组,每行打印%d个:\n",m);
sc(a,m);
js(a,&max,&min);
printf("最大值max=%d:\n最小值min=%d\n",max,min);
printf("按照升序对数组排序后为:\n");
px(a);
}
sr(int a[],int i)
{
a[i]=rand()%50;
}
sc(int a[],int m)
{
int i,count=0;
for(i=0;i {
printf("%-d\t",a[i]);
count++;
if(count==m)
{
printf("\n");
count=0;
}
}
}
js(int a[],int *max,int *min)
{
int i;
*min=*max=a[0];
for(i=1;i {
if(a[i]>=*max)
*max=a[i];
if(a[i]<=*min)
*min=a[i];
}
}
px(int a[])
{
int i,j;
for(i=0;i for(j=i;j if(a[i]>a[j])
{
int t;
t=a[i];
a[i]=a[j];
a[j]=t;
}
for(i=0;i<N;i++)
printf("%d ",a[i]);
}

  • 写回答

2条回答 默认 最新

  • threenewbee 2016-06-03 03:55
    关注

    因为C++不会对数组是否越界做出检查,此时程序运行的结果是不可预料的。

    评论

报告相同问题?

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥15 绘制多分类任务的roc曲线时只画出了一类的roc,其它的auc显示为nan
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?