我试图将任意大小的整数添加到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。 我试图找到解决方案,但无法解决。请帮忙
答案 0 :(得分:3)
当您分配到head1
时,您是另外一个节点。您只需将函数get_number()
称为:
struct node* head1 = 0;
get_number(&head1);
将最后一个元素(即第一个分配节点)的next
设置为0
,其余逻辑就可以了。
您还需要正确致电malloc()
并将c
的类型更改为int
(以处理EOF
),如评论中所述。我首选的方法是分配内存:
TYPE *p = malloc(sizeof *p);