有关数组的有关问题
有关数组的问题
可以编译,运行时输入十个数字之后就出现了问题,提示什么写入位置0x33632d44 发生访问冲突,这个程序是想找出十个数里的最大数和最小数,交换两个数的位置并且输出调整后的数组内容
------解决思路----------------------
{
max = a[i];
nmax = i;
}
当i=9时 数组越界了
------解决思路----------------------
输入第10个数时 i = 9 ,a[i + 1]越界了
------解决思路----------------------
第一步,输入a[0],比较a[0]和a[1]
第二步,输入a[1],比较a[1]和a[2]
第三步,……
哪里有问题,只要去找,就不难找到
如果这么简单的问题都要别人帮你找,那楼主最好希望将来自己的工作也由别人代做
------解决思路----------------------
学习调试技巧是程序员的必经之路.共勉吧.
------解决思路----------------------
长度为10的数组,它的索引为0~9,这是C初学者经常没有注意到的地方。
#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
int main()
{
int max,min,nmax,nmin,i,p;
int a[10]={0};
for(i=0;i<10;i++)
{
scanf(" %d",&a[i]);
if(a[i]>a[i+1])
{
max = a[i];
nmax = i;
}
else
{
min = a[i];
nmin = i;
}
}
p=nmin;
a[nmin]=a[nmax];
a[nmax]=a[p];
for(i=0;i<10;i++)
{
printf(" %d",a[i]);
}
system("pause");
return 0;
}
可以编译,运行时输入十个数字之后就出现了问题,提示什么写入位置0x33632d44 发生访问冲突,这个程序是想找出十个数里的最大数和最小数,交换两个数的位置并且输出调整后的数组内容
------解决思路----------------------
#include "stdafx.h"if(a[i]>a[i+1])
#include "stdio.h"
#include "stdlib.h"
int main()
{
int max,min,nmax,nmin,i,p;
int a[10]={0};
for(i=0;i<10;i++)
{
scanf(" %d",&a[i]);
}
for(i=0;i<9;i++)
{if(a[i]>a[i+1])
{
max = a[i];
nmax = i;
}
else
{
min = a[i];
nmin = i;
}
}
p=nmin;
a[nmin]=a[nmax];
a[nmax]=a[p];
for(i=0;i<10;i++)
{
printf(" %d",a[i]);
}
system("pause");
return 0;
}
{
max = a[i];
nmax = i;
}
当i=9时 数组越界了
------解决思路----------------------
输入第10个数时 i = 9 ,a[i + 1]越界了
------解决思路----------------------
第一步,输入a[0],比较a[0]和a[1]
第二步,输入a[1],比较a[1]和a[2]
第三步,……
哪里有问题,只要去找,就不难找到
如果这么简单的问题都要别人帮你找,那楼主最好希望将来自己的工作也由别人代做
------解决思路----------------------
学习调试技巧是程序员的必经之路.共勉吧.
------解决思路----------------------
长度为10的数组,它的索引为0~9,这是C初学者经常没有注意到的地方。