总督府巴山夜雨大酒店:/*6.将数组a[5]={1,2,3,4,5}反序存储并输出*/

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/28 22:51:18
#include<stdio.h>
void main()
{
int a[5]={1,2,3,4,5},i;
for(i=5;i>=0;i--)
printf("%d\t",a[i]);

}

写的程序是否对?最后是不是输出5 4 3 2 1,但是我输出老是多一项垃圾值!

As Follows:
#include<stdio.h>
void main()
{
int a[]={1,2,3,4,5};
int b[5],i,j;
for(i=0;i<5;i++)
{
j=4-i;
b[i]=a[j];
printf("%d\t",b[i]);
}
}
以上程序在TurboC++ 3.0中调试通过!

C语言里数组下标从0开始,所以int a[5]的话,下标是从0到4,没有a[5]这个元素。

第一,你写的不对

i = 5 应该是 i = 4。

第二,你没有达到题目的要求

题目让你反序存储,你并没有反序存储,只是反序输出了而已。

会输出六位数,a[5]的数组就是a[0]到a[4],哪来的a[5],所以第一个输出的数一定错误,
改为;
for(i=4;i>=0;i--)
呵呵