如果可以,填写此代码(c)

时间:2017-06-12 14:45:01

标签: c

#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,&currentnode);
    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'字段的指针

1 个答案:

答案 0 :(得分:0)

改变这个:

Nodes_maker(count2,&currentnode);

到此:

Nodes_maker(count2, currentnode);

并且错误将消失。这是因为函数的原型是Nodes_maker(int nums,Node *currentnode)而你有Node* currentnode;

但是,您需要处理您的逻辑。我的意思是你动态分配内存,但你没有返回指针(你的函数返回void)。祝你好运!

PS:Do I cast the result of malloc?没有。