#include<stdio.h> main() { int a[4]; int b[3]={1,2,3}; int i,j; for(i=0;i<4;i++) for(j=0;j<3;j++) a

#include<stdio.h>main(){inta[4];intb[3]={1,2,3};inti,j;for(i=0;i<4;i++)for(j=0;j<3;j+... #include<stdio.h>
main()
{
int a[4];
int b[3]={1,2,3};
int i,j;
for(i=0;i<4;i++)
for(j=0;j<3;j++)
a[i]=b[j];
for(i=0;i<4;i++)
printf("%d",a[i]);
getch();
}
输出结果是:333
我想要把一个数组里的数放入另一个数组里,然后查看放入的这个数组是否真的是放入的这几个数?上面是我的一个实例,结果不是我想要的?我想的结果是数组a里放的数是1,2,3.有谁能帮帮忙。
展开
 我来答
畅景彰b5
2010-12-04 · TA获得超过4374个赞
知道小有建树答主
回答量:839
采纳率:0%
帮助的人:1271万
展开全部
之所以出现333,问题出现在一下三句语句
for(i=0;i<4;i++)
for(j=0;j<3;j++)
a[i]=b[j];
这里你用的是嵌套循环,首先i=0的时候,执行for(j=0;j<3;j++)a[i]=b[j];这个循环,于是a[0]的值从1变成2变成3,然后i+1变成1的时候,还是执行for(j=0;j<3;j++)a[i]=b[j];这个循环,于是a[1]的值也从1变成2变成3,然后i+1变成2的时候,还是执行for(j=0;j<3;j++)a[i]=b[j];这个循环,于是a[2]的值也从1变成2变成3,最后就输出333了
如果要正确的答案,就把程序改成如下形式,//后面是你原来的语句,vc6通过调试运行了
#include<stdio.h>
main()
{
int a[4]={0};//int a[4];
int b[3]={1,2,3};
int i,j;
//for(i=0;i<4;i++)
for(j=0;j<3;j++)
a[j]=b[j];//a[i]=b[j];
for(i=0;i<4;i++)
printf("%d",a[i]);
getch();
}
舒心还飒爽丶彩旗x
2010-12-03 · TA获得超过1545个赞
知道小有建树答主
回答量:1594
采纳率:75%
帮助的人:741万
展开全部
循环错了,你仔细分析一下。只要一个for语句,并且i和j一起变。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bin660
2010-12-03 · 超过11用户采纳过TA的回答
知道答主
回答量:44
采纳率:0%
帮助的人:23.9万
展开全部
#include<stdio.h>
main()
{
int a[4];
int b[3]={1,2,3};
int i,j;
for(i=0;i<4;i++)
a[i]=b[j];
for(i=0;i<4;i++)
printf("%d",a[i]);
getch();
}
二楼的说的对!不知道你是否是这个意思呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fenger_8
2010-12-04
知道答主
回答量:3
采纳率:0%
帮助的人:4280
展开全部
for(i=0;i<4;i++)
for(j=0;j<3;j++)
你这里用两层循环,i=0时a[0]依次赋为1,2,3;i=1,2,3时也一样,最后都改成b[2]=3了;

把a[]都初始化为0,直接
for(i=0;i<3;i++)
a[i]=b[i];就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2010-12-04
展开全部
删去j循环,用a[i]=b[i]; 然后再看看吧!因为你是双重循环=为『赋值』运算只用最后的值也就是为什么等于3
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式