введите данные в структуру - PullRequest
1 голос
/ 31 января 2011

Этот код собирается в цикл, когда я ввожу имя, и оно не выходитВ чем проблема?

# define M 3
struct clas
{
    char name[16];
    int key;
};


struct node
{
    int n; 
    struct node *p[M];  
    struct clas clsf[M-1] ;
};

main()
{
    int i;

    struct clas clsf;
    for(i=0;i<2;i++)
    {
        root = malloc(sizeof (struct node));
        printf("enter name \n");
        scanf("%s\n",root->clsf[i].name);
        printf("%s\n",root->clsf[i].name);
        printf("enter key\n");
        scanf("%d", &root->clsf[i].key);
        printf("%d",root->clsf[i].key);
    }
}

Ответы [ 2 ]

4 голосов
/ 31 января 2011
  • root не определено, и есть экземпляр неопределенного struct classifier: clsf.

    Заменить struct classifier clsf; на struct node *root;

  • удалить окончание \n из scanf формата:

    rpelace scanf("%s\n",root->clsf[i].name); с scanf("%s",root->clsf[i].name);

1 голос
/ 31 января 2011

Заменить только struct classifier clsf; на struct node *root; больше ничего не требуется

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...