我想打印一个存储在链表中的数字数组 它向我展示了一个很大的数字,我认为它的元素地址
第一个元素是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;
当我使用此功能时
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
提前致谢