c - C函数在列表中插入项目
问题描述
我必须创建一个列表,其中每个节点都包含游戏的信息。数据通过键盘获取。所以我必须在列表中创建一个插入函数(inserisciTestaLista),但是当我运行程序时停止。我没有编译错误。这是输出:
...\Debug\progetto1.exe (processo 7356) terminato. Codice restituito: -1073741819.
Premere un tasto qualsiasi per chiudere questa finestra...
这是代码
#include <stdio.h>
#include <stdlib.h>
typedef struct s_partita {
char team1[32], team2[32];
int set1, set2;
char data[11];
}t_partita;
typedef struct nodo {
t_partita info;
struct nodo *next;
}t_nodo, *lista;
void inserisciTestaLista(lista *L, t_partita partita) {
lista aux;
aux = (lista)malloc(sizeof(t_nodo));
if (aux == NULL)
exit(1);
aux->info = partita;
aux->next = *L;
*L = aux;
}
int main() {
int scelta = 0;
lista L = NULL;
t_partita partita;
do {
printf("*****************MENU**************\n");
printf("0. ESCI\n");
printf("1. inserisci partita\n");
printf("2. stampa lista\n");
scanf("%d", &scelta);
switch (scelta) {
case 1: {
printf("Inserisci team 1: ");
scanf("%s", partita.team1);
printf("Inserisci team 2: ");
scanf("%s", partita.team2);
printf("Inserisci punteggio (esempio 3-1): ");
scanf("%d%d", &partita.set1, &partita.set2);
printf("Inserisci data (esempio 2020-01-01): ");
scanf("%s", partita.data);
inserisciTestaLista(L, partita);
break;
}
case 2: {
break;
}
}
} while (scelta != 0);
}
解决方案
您可以从第 49 行的列表中传递内存地址。
inserisciTestaLista(&L, partita);
推荐阅读
- google-maps - 需要免费添加卡号详细信息免费试用google map api免费帐户,如何获取google map api密钥免费帐户
- jmeter - 如何使用 JSONPath 提取器在 Jmeter 中提取对象
- python - 朴素贝叶斯分类器算法结合拉普拉斯平滑计算的类概率之和能否大于1?
- x86 - MMU如何知道操作系统正在使用的页表级别?
- r - 使用并行化对 mlr3 进行重采样时如何获得可重现的结果
- arrays - 为数组结构成员赋值
- javascript - 在 NodeJS 中迭代嵌套对象
- python - 没有为kivy获取ScrollView
- hyperlink - 有没有办法链接到 rmarkdown 中的选项卡式部分?
- python - 将这些主机和网络范围处理成网络层次结构字典的更好方法是什么?