#include<stdlib.h>
typedef struct node
{
int data;
int help;
struct node* next;
}Node;
void Nodes_maker(int nums,Node *currentnode);
int main()
{
int count2;
Node* root;
Node* currentnode;
currentnode=root;
printf("How many numbers do you want? ");
scanf("%d",&count2);
Nodes_maker(count2,¤tnode);
return 0;
}
void Nodes_maker(int nums,Node *currentnode)
{
int i;
for(i=0;i<nums;i++)
{
currentnode->next=(Node*)malloc(sizeof(Node));
}
}
有人会帮我完成这段代码吗? 我有Node结构,包含'data','help','next'。 我想扫描一个来自用户的数字,告诉他想要多少个数字(他想要多少'数据'字段)并制作那些节点结构('next'字段包含指向另一个Node结构中另一个新'data'字段的指针
答案 0 :(得分:0)
改变这个:
Nodes_maker(count2,¤tnode);
到此:
Nodes_maker(count2, currentnode);
并且错误将消失。这是因为函数的原型是Nodes_maker(int nums,Node *currentnode)
而你有Node* currentnode;
。
但是,您需要处理您的逻辑。我的意思是你动态分配内存,但你没有返回指针(你的函数返回void
)。祝你好运!