#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.有谁能帮帮忙。 展开
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.有谁能帮帮忙。 展开
5个回答
展开全部
之所以出现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();
}
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();
}
展开全部
循环错了,你仔细分析一下。只要一个for语句,并且i和j一起变。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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();
}
二楼的说的对!不知道你是否是这个意思呢?
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();
}
二楼的说的对!不知道你是否是这个意思呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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];就行了
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询