首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

帮忙检查,对你们来说是很简单的程序呀!解决思路

2012-02-12 
帮忙检查,对你们来说是很简单的程序呀!输入10个数按大小排序输出:#include stdio.h voidmain(){inti,a[1

帮忙检查,对你们来说是很简单的程序呀!
输入10个数     按大小排序输出:#include "stdio.h "
void   main()
{
int   i,a[10],t,k;
for(i=1;i <=10;i++)
scanf( "%d ",&a[i]);
for(i=1;i <=10;i++)
for(k=i+1;k <=10;k++)
{
if(a[i]> a[k])
{t=a[i];
a[i]=a[k];
a[k]=t;
}
}
for(i=1;i <=10;i++)
printf( "%d ",a[i]);
}

[解决办法]
int i,a[11],t,k;


[解决办法]

当然可以不从0开始
不从0开始,就意味着你的第0个元素浪费不用
那么你就不能申明的时候a[10]
而要a[11]
额外增加一个开销

你又不增加存储开销, 又不从0开始,那么就会产生越界问题

越界编译器不给你检查, 运行错误还是正确看你的运气了
如果越界越到系统关键区域,很危险
如果跑到无所谓地方,不会提示错误

热点排行