关于c与指针第十三章单链表的有关问题

关于c与指针第十三章单链表的问题#include stdio.h#include string.h#include stdlib.htypedef stru

关于c与指针第十三章单链表的问题
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
typedef struct NODE{
struct NODE *link;
int value;
}Node; //定义一个单聊表结构
Node *search_list(NODE *node,void const *value,int (*compare)(void const*,void const *))//查找的操作
{
while (node!=NULL)
{
if (compare(&node->value,value)==0)
{
break;
}
node = node->link;
}
return node;
}
Node* print(void)//手动输入单链表,ps:因为还没学数据结构,可能这里有些问题
{
Node *first,*last,* that;//指向第一个指针
printf("please!\n");

last=(Node *)malloc(sizeof(Node));//分配内存,创建链表
first=NULL;
while (scanf("%d",last->value)!=0)//输入链表
{
that=last->link;
last=that;
}
last->link=NULL;
return first;
}
int compare_ints(void const *a,void const *b)//关于int类型的比较
{
if (*(int*)a==*(int *)b)//它这个是为了应用于所有类型,所以定义的是void,要强制
//转换
return 0;
else
return 1;
}
int main(void)//主函数

Node *desired_node;
int tea;
int num;
Node *print();
desired_node= print(); //调用输入,感觉这个就写的不伦不类
printf("please integer,char\n");
if (scanf("%d",&num)==1)//输入要查找的数字
{
search_list(desired_node,&num,compare_ints);
}

return 0;
}

ps://到最后我都密码了,进行不下去了,不知道该要干嘛了。。。
这个程序想要做的事情是,输入一个单链表,然后输入一个数据,然后查找在哪个位置。
ps:我想要书上这种写法,就是可以适用于多种类型的。
谢谢了

[解决办法]
Node *search_list(NODE *node,void const *value,int (*compare)(void const*,void const *))
明显错了 是Node  要么写struct NODE
[解决办法]
你还是慢慢单步调试一下,
除了zhuankeshumo提出来的,还有一个明显的错误
while (scanf("%d",last->value)!=0)//输入链表
输入应该是scanf("%d",&last->value)