在链表中显示数组c

时间:2017-05-08 11:33:55

标签: c

我想打印一个存储在链表中的数字数组 它向我展示了一个很大的数字,我认为它的元素地址

第一个元素是intiger,它显示得很好,其他元素没有 当我在我的代码中显示它时它正常工作 但是当我使用一个功能时,它不起作用

        newlist->operand = (int *) malloc(max_line_length * sizeof(int));
        newlist->facteur = (int *) malloc(max_line_length * sizeof(int));

        newlist->operand[i]=op1;
        newlist->facteur[i]=shift_fact;

        r += newlist->operand[i] << newlist->facteur[i] ;
        shift_detection = 0;
        is_ready_op = false;
        is_ready_fact = false ;
        // i++ ;
        printf("%d<<%d ",newlist->operand[i],newlist->facteur[i]);//here it's working right 

        if (char_reed=='\n')
        {
             //struct_counter ++;
             newlist->result=r;
             printf(" = %d \n",newlist->result);
             printf("\n------------------------------\n");
             newlist->next=NULL;

the correct result

当我使用此功能时

void display (node * mylist){
int i =0;
while (mylist !=NULL)
{
printf("\n****************************\n");
printf("%d =",mylist->result);
for (i=0 ; i<2;i++)
    printf(" %d<<%d",mylist->operand,mylist->facteur);
mylist = mylist->next;
}

}

结果将是这样的 the wrong result

提前致谢

0 个答案:

没有答案