帮我分析一下这道题,我有些地方不明白,谢谢了

//2、定义3个长度为7的数组,使第一数组每个元素的值等于其下标+5;将第一个数组的所有元素的值赋给第二个数组,第三个数组的每个元素的值等于前两个数组相同下标的元素之和;... //2、定义3个长度为7的数组,使第一数组每个元素的值等于其下标+5;将第一个数组的所有元素的值赋给第二个数组,第三个数组的每个元素的值等于前两个数组相同下标的元素之和;
#include<stdio.h>
void main()
{
int a[7],b[7],c[7];
for(int i=0;i<7;i++)
{
a[i]=i+5;
printf("第1组:%d\n",a[i]);
}
for(int j=0;j<7;j++)
{
b[j]=a[j];
printf("第2组:%d\n",b[j]);
}
for(int k=0;k<7;k++)
{
c[k]=a[k]+b[k];
printf("第3组:%d\n",c[k]);
}
}
从b[j]这里开始,题目的意思就是把第一组的值赋给第二组.那么我本来是想写成,b[j]=a[i];,后来运行乱码.为什么?不能a[i]?一定要a[j]?
还有第三组的问题..题目的意思就是第三组的值等于前2组的每一项的值相加值.那么为什么这里c[k]=a[k]+b[k]?还不是c[k]=a[i]+b[j]
展开
 我来答
琼头浪子
2010-09-10 · TA获得超过602个赞
知道小有建树答主
回答量:211
采纳率:0%
帮助的人:217万
展开全部
你如果要写成b[j]=a[i]也是可以的,你只需把第二个for写成for(int j=0,i=0;j<7;j++,i++)同样可以达到目的,如果没给i重新赋值的话,在第一个for做完之后,i=7哈;
至于你的第二个问题,和第一个问题是一样的问题哈,你都得对i,j重新赋值为0,因为做完第二个for,i,j的值不等于0哈而是7;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式