鱼C论坛

 找回密码
 立即注册
查看: 4384|回复: 8

求助 数组问题

[复制链接]
发表于 2013-2-18 20:58:10 | 显示全部楼层 |阅读模式
10鱼币
本帖最后由 Ъγ:_小ツ雨oο 于 2013-2-18 21:01 编辑

KX6KW)E1JIDY9NH0R)G]F%1.jpg ,为什么  输出的 不对啊, 我用for 语句 就输出的是正确 的,  用while  就错了 ,do while  也错了,  为什么 啊,  在线等 大家的支援!! 速求解

另外 我用 for 语句 他不会输出 前面的 两个一,  也求帮助

最佳答案

查看完整内容

把你的for循环的代码给出来看看! 问题出在i++上, 改为: 以后如果有问题请贴上源码,别人好把你修改,你截图,那个有时间去把你的源码再敲一篇!
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-2-18 20:58:11 | 显示全部楼层
把你的for循环的代码给出来看看!
问题出在i++上,
改为:
  1. #include <stdio.h>
  2. void main()
  3. {
  4.         int i,an[20]={1,1};
  5.         i=2;
  6.         while (i<20)
  7.         {
  8.         an[i]=an[i-1]+an[i-2];
  9.         printf("%d ",an[i]);
  10.         i++;
  11.         }
  12. }
复制代码

以后如果有问题请贴上源码,别人好把你修改,你截图,那个有时间去把你的源码再敲一篇!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-2-18 22:07:59 | 显示全部楼层
数组越界了吧。 你while()前面是i = 2, 进去里面有一个 i++, 所以第一次输出的是an[3],
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-2-18 22:09:19 | 显示全部楼层
当i = 19时, while(i < 20)能进去, 进去后i++, 这后i就变成20了, 你定义的数组长度为20个, 但最大是19, 所以最后那个数是数组溢出了。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-2-18 22:16:10 | 显示全部楼层
我没装编译环境 无法调试 但是我感觉你的i++放到while语句第一行有问题,数组an[20]={1,1}实际是付了an[0]和an[1]的值 i=2后执行i++,i就变为3了,执行an[3]=an[2]+an[1];而此时an[2]还没有赋值。一直到i=19,19<20 满足while语句条件,进入后i++,i就变为20,此时an[20]已经溢出了。把i++放到printf之后应该就对了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-2-18 22:17:03 | 显示全部楼层
我没装编译环境 无法调试 但是我感觉你的i++放到while语句第一行有问题,数组an[20]={1,1}实际是付了an[0]和an[1]的值 i=2后执行i++,i就变为3了,执行an[3]=an[2]+an[1];而此时an[2]还没有赋值。一直到i=19,19<20 满足while语句条件,进入后i++,i就变为20,此时an[20]已经溢出了。把i++放到printf语句之后应该就对了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-2-18 22:31:02 | 显示全部楼层

以后如果有问题请贴上源码,别人好把你修改,你截图,那个有时间去把你的源码再敲一篇!
/   enen  记住了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-2-18 22:40:19 | 显示全部楼层
  1. #include<stdio.h>
  2. void main()
  3. {
  4.         int i,a[20]={1,1};
  5.         i=2;
  6.         while(i<20)
  7.         {
  8.                 a[i]=a[i-2]+a[i-1];
  9.                 i++;
  10.         }
  11.         i=0;
  12.         while(i<20)
  13.         {
  14.                 printf("%d  ",a[i]);
  15.                 i++;
  16.         }

  17. }
复制代码

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-2-20 16:25:09 | 显示全部楼层
这都得回复看啊。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-8-8 04:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表