在C中打印整数的链接列表

时间:2015-06-27 11:14:13

标签: c linked-list

我试图将任意大小的整数添加到C中的链表中。但是当我打印列表时,总是在整数之后打印零。 请注意,我将整数的每个数字添加到头部。(头部具有整数的第0位)

var response = client.CreateIndex(indexName, s => s
      .AddMapping<Location>(f => f
        .MapFromAttributes() 
        .Properties(p => p
          .GeoPoint(g => g.Name(n => n.Coordinate).IndexGeoHash().IndexLatLon())
        )
      )
    );
    client.IndexMany(new[]{
        new Location
        {
            Name = "Amsterdam",
            Coordinate = new Coordinate { Lat =  52.3740300, Lon = 4.8896900}
        },
        new Location
        {
            Name = "Rotterdam",
            Coordinate = new Coordinate { Lat = 51.9225000, Lon = 4.4791700}
        },
        new Location
        {
            Name = "Utrecht",
            Coordinate = new Coordinate { Lat =  52.0908300,  Lon = 5.1222200}
        },new Location
        {
            Name = "Den Haag",
            Coordinate = new Coordinate { Lat =  52.3740300, Lon = 4.8896900}
        }
    });

当我输入123456时,输出为1234560。 我试图找到解决方案,但无法解决。请帮忙

1 个答案:

答案 0 :(得分:3)

当您分配到head1时,您是另外一个节点。您只需将函数get_number()称为:

   struct node* head1 = 0;
   get_number(&head1);

将最后一个元素(即第一个分配节点)的next设置为0,其余逻辑就可以了。

您还需要正确致电malloc()并将c的类型更改为int(以处理EOF),如评论中所述。我首选的方法是分配内存:

TYPE *p = malloc(sizeof *p);