标题:问题想不明白,求高手指点!
只看楼主
z364172655
Rank: 2
等 级:论坛游民
帖 子:22
专家分:38
注 册:2011-12-8
结帖率:100%
已结贴  问题点数:20 回复次数:3 
问题想不明白,求高手指点!
#include<stdio.h>
#include<string.h>
int main()
{
    int a[8],b[8];
    //int i,j;
    int i;
    for(i=0;i<8;i++)
    {
        printf("Enter the %d word\n",i+1);
        scanf("%d",&a[i]);
    }
   /*for(j=7,i=0;j>=0,i<8;j--,i++)
    {
        b[j]=a[i];
        printf("%d\n",b[j]);
    }*/
    for(i=8;i!=0;i--)
    {
        b[8-i]=a[i];
        printf("%d\n",b[8-i]);
    }
    return 0;
}
执行输出结果如下图:

怎么会多出一行1245120的呢?用屏蔽的那段代码由不会出现这样的问题,求解释!!!
搜索更多相关主题的帖子: include Enter return 
2011-12-09 14:55
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
得分:10 
回复 楼主 z364172655
for(i=8;i!=0;i--)
{
        b[8-i]=a[i];        //第一次循环,i等于,a[8]是什么东西!!!
        printf("%d\n",b[8-i]);   
}

总有那身价贱的人给作业贴回复完整的代码
2011-12-09 15:10
hczsea
Rank: 2
等 级:论坛游民
帖 子:129
专家分:68
注 册:2007-10-23
得分:10 
for(i=8;i!=0;i--)
    {
        b[8-i]=a[i];
        printf("%d\n",b[8-i]);
    }
这个循环中有问题,第一次,i=8时,执行的是b[0]=a[8];这就是问题,a只有0-7;
所以改为b[8-i]=a[i-1];
2011-12-09 15:12
z364172655
Rank: 2
等 级:论坛游民
帖 子:22
专家分:38
注 册:2011-12-8
得分:0 
以下是引用hczsea在2011-12-9 15:12:22的发言:

for(i=8;i!=0;i--)
    {
        b[8-i]=a;
        printf("%d\n",b[8-i]);
    }
这个循环中有问题,第一次,i=8时,执行的是b[0]=a[8];这就是问题,a只有0-7;
所以改为b[8-i]=a;
谢谢了,确实是这个问题!
2011-12-09 16:08



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-357377-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.189092 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved