标题:二维数组 简单的复制数组 输出数字乱码 帮帮我
只看楼主
a674506020
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-8-15
 问题点数:0 回复次数:3 
二维数组 简单的复制数组 输出数字乱码 帮帮我
#include <stdio.h>
void copy (double sou[][2],double (*tar)[2], int);
int main (void)
{
    double source[2][2]={
        {1.1,2.2},{3.3,4.4}
    };
    double target[2][2];
    int n,m;
    copy (source,target,2);
    for (n=0;n<2;n++)
        for (m=0;m<2;m++)
            printf ("%.1lf ",target[n][m]);
        return 0;
}
void copy (double sou[][2],double (*tar) [2], int n)
{
    int m,x;
     for (x=0;x<n;n++)
        for (m=0;m<2;m++)
            tar[x][m]=sou[x][m];
}
搜索更多相关主题的帖子: target source return double include 
2016-08-15 21:42
a674506020
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-8-15
得分:0 
来人啊
2016-08-15 21:44
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
得分:0 
你发出来的代码只要将for (x=0;x<n;n++)改成for (x=0;x<n;x++)就能正常运行
至于你说的乱码测试没碰到。
2016-08-15 22:34
gz1347351162
Rank: 2
等 级:论坛游民
帖 子:19
专家分:44
注 册:2016-5-30
得分:0 
#include <stdio.h>
void copy (double sou[][2],double (*tar)[2], int);
int main (void)
{
    double source[2][2]={
        {1.1,2.2},{3.3,4.4}
    };
    double target[2][2];//乱码的原因是数组没有初始化
    int n,m;
    copy (source,target,2);
    for (n=0;n<2;n++)
        for (m=0;m<2;m++)
            printf ("%.1lf ",target[n][m]);
        return 0;
}
void copy (double sou[][2],double (*tar) [2], int n)
{
    int m,x;
     for (x=0;x<n;n++)  //x始终是0  还有就是应该是x++ ,不然就是死循环了
        for (m=0;m<2;m++)
            tar[x][m]=sou[x][m];
}
2016-08-16 09:31



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-467897-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017848 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved