C语言中,如何让两个数组相等?

来源:百度知道 编辑:UC知道 时间:2024/09/27 11:40:32
问题很简单,比如两个数组x[2],y[2],已知x[2]={1,2},现在想让y[2]=x[2]
我直接让他们相等,虽然不报错,但是结果有问题,高手指教!
#include <stdio.h>
#include <math.h>
void main()
{
double x[2]={4,8};
double y[2];
y[2]=x[2];
printf("%f%f",y[0],y[1]);
getchar();

}
我自己写了小程序,检验了一下,但是发现y[2]的元素变得很大,怎么回事呢?

x[2]是定义的时候用的,如果是用的时候是从x[0]开始,所以x[2]是个随机数,再者,y[2]也是不存在的,所以你等于是没给y这个数组里的任何一数赋值,两个都是随机数。

如果是数组长度相等,在初始化数组是直接将两个数组的长度设置为相同即可,如下:

    int a[10];
    int b[10];

如果是让两个数组的数据一样,可按下面的方法:

#include<stdio.h>
#include<string.h>
int main ()
{
    int i ;
    int a[10];
    int b[10];
    //初始化数组a
    for(i=0; i<10; i++)
    {
        a[i] = i;
    }
    //将a数组的数据复制给b
    //如果是字符数组,可以直接使用strcpy函数
    //如果是其它类型,可使用如下方法
    for(i=0; i<10; i++)
   &n