函数获取不适用于结构

时间:2018-12-01 20:14:59

标签: c

我在C语言上具有此功能:

#include "stdio.h"
#include "stdlib.h"
#include "locale.h"
#include "string.h"
typedef struct aliado {
          char nome[20];
          int forca, agilidade, inteligencia, vida;
    } ALIADO;

ALIADO *atribuicaoAtributos(int classe)
{
    system("cls");

    ALIADO *vet;

    vet = (ALIADO *) malloc(sizeof(ALIADO));

    if(classe==1) {
        printf("NOME DO SEU GUERREIRO: ");
        gets(vet->nome);
        vet->vida = 100;
        vet->forca = 20;
        vet->agilidade = 10;
        vet->inteligencia = 5;
    }

    if(classe==2) {
        printf("NOME DO SEU MAGO: ");
        gets(vet->nome);
        vet->vida = 100;
        vet->forca = 5;
        vet->agilidade = 10;
        vet->inteligencia = 20;
    }

    if(classe==3) {
        printf("NOME DO SEU KILLER: ");
        gets(vet->nome);
        vet->vida = 100;
        vet->forca = 10;
        vet->agilidade = 20;
        vet->inteligencia = 5;
    }

    return vet;
}

当我调用此函数时,它可以正常工作,但到gets(vet-> nome)时,我的C程序就结束了。

有人知道这里发生了什么吗? 这就是我出现的内容:

enter image description here

0 个答案:

没有答案