C- malloc无法正确打印



我有一个.txt文件,我用来学习一些基本c。

这是txt文件:

8
12  48  15  65  16  82  9   72

这是代码:

int main(int argc, char** argv){
        int num;
        int arr[100000];
        int index = 0;
        int size = 0;
        if (argc != 2){
                return 0;
        }
        FILE *inputFile = fopen(argv[1], "r");
        if (inputFile == NULL){
                printf("Error1n");
                return 0;
        }
/*      while(!feof(inputFile)){
                num = fgetc(inputFile);
                if(isdigit(num)){
                        num = num - '0';=
                        printf("%cn",num);
                }
        }*/
        while(fscanf(inputFile, " %d", &num) == 1){
                arr[index] = num;
                index++;
        }
        size = arr[0];
        int * list = (int*)malloc(sizeof(int)*size);
        int i;
        for(i = 1; i <= size; i++){
                list[i-1]=arr[i];
                printf("%dn", list[i]);
        }


        if(!feof(inputFile)){
                printf("error");
                return 0;
        }
}

我正在寻找数组,但是我的输出不断为0、0、0、0、0,..... .....怎么了?我认为也许我的印刷声明是错误的,但是我是C ..有什么技巧吗?

您有9个项目,而不是8个项目

    size = arr[0];
    //printf("size %d %dn", size,index);
    int * list = (int*)malloc(sizeof(int)*(index));
    int i;
    for(i = 1; i <= index; i++){
            list[i-1]=arr[i-1];
            printf("%dn", list[i-1]);
    }

相关内容

  • 没有找到相关文章

最新更新