标题:求助 全局变量中复制二维数组
只看楼主
ym950209
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2015-9-1
结帖率:100%
已结贴  问题点数:20 回复次数:2 
求助 全局变量中复制二维数组
我定义了全局变量的二维数组和结构体,然后从stdin里读取16个数进全局的二维数组中, 但是只在main 函数内有效。进了下面的copy函数后复制不了,原来的全局变量board也空了  为什么啊  实在找不出为什么了  卡了好久 麻烦大神们帮忙看看  谢谢

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define SIZE 4

char board[SIZE][SIZE];

struct node{
    char state[SIZE][SIZE];
    int cost;
}current;

void copy();

int main(int argc, char *argv[]) {
int i,j;
    FILE *fp = NULL;
    fp = fopen(argv[1],"r");
   
    if (!fp) {
        printf("fail to open file.\n");
        exit(EXIT_FAILURE);
    }
   
    for (i=0;i<SIZE;i++) {
        for (j=0;j<SIZE;j++) {
            fscanf(fp,"%d",&board[i][j]);
        }
    }
    copy();
    fclose(fp);
    return 0;
}

void copy() {
    int i,j;
    memcpy(current.state,board,sizeof(board));
    for(i=0;i<SIZE;i++) {
        for(j<0;j<SIZE;j++) {
            printf("%d ",current.state[i][j]);
        }
        printf("\n");
    }
    return;
}
搜索更多相关主题的帖子: current include 结构体 
2015-10-19 19:13
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
得分:20 
void copy() {
    int i,j;
    memcpy(current.state,board,sizeof(board));
    for(i=0;i<SIZE;i++) {
        for(j<0;j<SIZE;j++) {  //这句为什么是j<0?
            printf("%d ",current.state[i][j]);
        }
        printf("\n");
    }
    return;
}

总有那身价贱的人给作业贴回复完整的代码
2015-10-19 19:29
ym950209
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2015-9-1
得分:0 
回复 楼主 ym950209
输的时候手误了   被自己蠢哭   太谢谢了  看了那么多遍没看出来
2015-10-19 19:40



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




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

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