ここに私のコードです。 valだけでなく、より多くのフィールドを入力させる必要があります。 これは、リストをテストするために使用しているコードなので、例としてval、name、およびsurnameを追加します。どうしたらいいですか? いくつかの用語は英語ではありませんが、コード全体が明確だと思います。リストにフィールドを追加するには
#include <stdio.h>
#include <stdlib.h>
struct lista{
int val;
struct lista *next;
}Lista;
struct lista* crea(struct lista* head);
void stampa(struct lista* testa);
int main()
{
struct lista *head=NULL;
int insert=0;
while(1){
printf("\n *** MENU ***\n 1.Add in list\n 2.Print\n 3.Exit\n\n Input: ");
scanf("%d", &insert);
switch(insert){
case 1:
head = crea(head);
break;
case 2:
stampa(head);
break;
case 3:
exit(1);
default:
printf("\n Errore: scelta non valida!\n");
break;
}
}
return 0;
}
struct lista* crea(struct lista* head){
struct lista *nuovo=NULL; //sarà la nuova head
int valore=0;
nuovo = (struct lista*)malloc(sizeof(struct lista));
printf("\nValue: ");
scanf("%d", &valore);
nuovo->val=valore;
nuovo->next=head;
head = nuovo;
return nuovo;
};
void stampa(struct lista* head){
struct lista* temp=NULL;
temp = head;
while(temp != NULL){
printf("\nvalore: %d\n", temp->val);
temp = temp->next;
}
}
フィールドを追加して、ユーザーにそれらのデータを入力させるだけです。 – MikeCAT
私はして、それはクラッシュした。たぶん正しい方法ではなかったかもしれません(?) – ennedes
クラッシュしたコードを表示します。また、クラッシュが何だったのか、デバッガの下で実行して自分で修復しようとしたのですか? – pm100