加载链接列表时出现问题

用户3353842

我似乎无法获得正确加载每个节点的代码。它将加载正确的字符串或正确的int,但不会同时加载两者,除非每次在while循环中运行后都将head声明为NULL时。

这是一项家庭作业,因此提示而不是固定的代码将不胜感激。

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

#define NAME_LENGTH 20
#define CHAMP_LENGTH 20
#define TEAM_LENGTH 10

typedef struct player{
    char* name;
    char* champion;
    char* team;
    int kills;
    int deaths;
    struct player *next;
}Player;

Player* new_player(char* name, char* champion, char* team, int kills, int deaths);
Player* insert_by_player(Player* head, Player* node);
void print(Player* head);
int update_records(Player* head, char* champion, char* champ_name, int kills, int death);
void free_node(Player* node);
Player* delete_player_even(Player* head);
Player* delete_plyaer_odd(Player* head);
Player* reverse_list(Player* head);

int main(int argc, char* argv[])
{
    if (argc<1)
    {
      printf("Incorrect number of arguements\n");
      return 0;
    }

    Player* head = NULL;
    Player* node = NULL;
    char name[NAME_LENGTH] = "";
    char champion[CHAMP_LENGTH] = "";
    char team[TEAM_LENGTH] = "";
    int kills, deaths = 0;
    FILE *in = fopen(argv[1], "r");

    while (1)
    {
      fscanf(in, "%s%*c%s%*c%s%*c%d%*c%d%*c", name, champion, team, &kills, &deaths);

      if (feof(in)) break;

      node = new_player(name, champion, team, kills, deaths);
      head = insert_by_player(head, node);

    }
    print(head);
    fclose(in);
return 0;
}

Player* new_player(char* name, char* champion, char* team, int kills, int deaths)
{
    Player* n = malloc(sizeof(Player));
    n->name = name;
    n->champion = champion;
    n->team = team;
    n->kills = kills;
    n->deaths = deaths;
    n->next = NULL;

    return n;
}

Player* insert_by_player(Player* head, Player* node)
{
    Player* temp;

    if (head == NULL)
    {
      head = node;
      return head;
    }
    else
    head->next = insert_by_player(head->next, node);

return head;
}

void print(Player* head)
{
    if (head == NULL)
       return;
    else
    {
      printf("%s %s %s %d %d\n", head->name, head->champion, head->team, head->kills, head->deaths);
      print(head->next);
    }
}

输入文件被标记为roster.txt

Yellowstar Thresh Fnatic 0 4
Dyrus Jayce Solomid 6 2
Chaox Jinx无8 1
Hotshotgg Nidalee CLG 4 4
Phreak Orianna Riot 10 5
Bioamp Chogath无2 2

G一

变化

typedef struct player{
    char name[NAME_LENGTH];
    char champion[CHAMP_LENGTH];
    char team[TEAM_LENGTH];
    int kills;
    int deaths;
    struct player *next;
}Player;


Player* new_player(char* name, char* champion, char* team, int kills, int deaths)
{
    Player* n = malloc(sizeof(Player));
    strcpy(n->name , name);
    strcpy(n->champion, champion);
    strcpy(n->team , team);
    n->kills = kills;
    n->deaths = deaths;
    n->next = NULL;

    return n;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

更改链接列表中的指针的地址时出现问题

来自分类Dev

从AndroidKeystore加载私钥时出现问题

来自分类Dev

加载jquery接口时出现问题,

来自分类Dev

使用多个列表时出现问题

来自分类Dev

尝试在纯功能链接列表上“按索引删除”时出现问题

来自分类Dev

Shopify:链接列表中的网址图片出现问题

来自分类Dev

Malloc和链接列表出现问题

来自分类Dev

W:取消链接文件列表时出现问题-清理(21:是目录)运行“ sudo apt-get update”时出错

来自分类Dev

Python:索引列表列表时出现问题

来自分类Dev

通过链接在div内滚动时出现问题

来自分类Dev

动画和单击链接时出现问题

来自分类Dev

链接NSTableView处理程序类时出现问题

来自分类Dev

链接Matlab生成的C ++库时出现问题

来自分类Dev

通过链接在div内滚动时出现问题

来自分类Dev

在Mac上创建符号链接时出现问题

来自分类Dev

出现问题(链接,崩溃)

来自分类常见问题

在Julia中加载CSV文件时出现问题

来自分类Dev

“筛选”急切加载的数据时出现问题

来自分类Dev

在RecyclerView内加载AdView时出现问题

来自分类Dev

加载Microsoft Visual菜单时出现问题

来自分类Dev

MediaElement.js在加载时出现问题

来自分类Dev

NavigationLink SwiftUI导致加载图像时出现问题

来自分类Dev

在Julia中加载CSV文件时出现问题

来自分类Dev

WebGL-加载纹理时出现问题

来自分类Dev

从文件jQuery数组加载数组时出现问题

来自分类Dev

在Android中加载Google Map时出现问题

来自分类Dev

Prism和IEventAggregator:加载模块时出现问题

来自分类Dev

使用按钮动画加载场景异步时出现问题

来自分类Dev

django 1.7:加载测试的初始夹具时出现问题

Related 相关文章

热门标签

归档