A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 梦想中前行 中级黑马   /  2015-4-9 10:11  /  957 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

#include<stdio.h>
int main()
{       
        int i = 0;
        int ages[8];
        ages[0] = 10;
        int olds[8];
        for( int i ; i < 8; i++)
        {
                olds[i] = ages[i] + 3;
        }
        printf("第8个人的年龄是:%d\n",olds[7]);
        return 0;
}

哪错了。。。

11 个回复

倒序浏览
你这ages数组里只有首元素的值是10,其他的全是0,所以,olds[1] 后面所有元素的值全是 3 啊
回复 使用道具 举报 1 0
for(int i;)这错了 未初始化 i
回复 使用道具 举报
for里的i错了,未初始化,前面的i未用到
回复 使用道具 举报
oucding 发表于 2015-4-9 10:18
你这ages数组里只有首元素的值是10,其他的全是0,所以,olds[1] 后面所有元素的值全是 3 啊 ...

谢谢,怎么改呢?
回复 使用道具 举报
ages[]没有赋完值
回复 使用道具 举报
ages第一个元素赋值了 其他都为0
回复 使用道具 举报
ages[]里面只是给ages【0】赋值为10其他的都没有赋值,其他的都错误,i已经初始化了。
回复 使用道具 举报
2L正解,这道题可以简化到根本不需要数组来运行,用数组的话old这个数组是可以省略的

for语句改为
     age[i +1] = age[i] +3即可
回复 使用道具 举报

你这个程序的目的是干嘛啊,这样才好修改呀
回复 使用道具 举报
ages[]没有赋完值
回复 使用道具 举报
数组木有完全赋值。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马