gpt4 book ai didi

c - 程序不显示任何东西

转载 作者:太空宇宙 更新时间:2023-11-04 02:00:08 25 4
gpt4 key购买 nike

每当我尝试运行此代码时,它都能正常编译,但控制台中没有任何显示。它应该打印出链表中的所有数字,我不明白这是什么问题。

头文件

#define RAND_MAX 100

struct num_node{
int num;
struct num_node* next;
};


struct num_node *create(struct num_node *list, int num);
void print_nums(struct num_node *list);

函数来源

#include <stdio.h>
#include <stdlib.h>
#include "functions.h"

struct num_node *create(struct num_node *list, int x){
struct num_node *current;

if (list == NULL){
list = (struct num_node*)malloc(sizeof(struct num_node));
list->num = x;
list->next = NULL;
return(list);
}
else{
current = (struct num_node *)malloc(sizeof(struct num_node));
current->num = x;
current->next = list;
return(current);
}
}

void print_nums(struct num_node *list) {

struct num_node *current;
for (current = list; current != NULL; current = current->next)
printf("%d\n", current->num);

}

主要

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#include "functions.h"

int main(){
struct num_node *head = NULL;

srand(time(NULL));

for (int i = 1; i <= 25; i++){
int x = rand() % 100;
create(head, x);
}

print_nums(head);

}

最佳答案

您永远不会使用 create 返回的值。

因此,当您将 head 传递给 print_nums 时,它仍然是 NULL

应该是:head = create(head, x);

关于c - 程序不显示任何东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28333872/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com