проблема с закрытием пока l oop чтобы сделать связанный список с scanf - PullRequest
0 голосов
/ 08 марта 2020

Мне нужно составить связанный список символов, чтобы сохранить текст. Все элементы имеют вид 1 символа и 1 указателя на следующий элемент. Мне нужно прочитать каждый символ отдельно и добавить их в начале связанного списка. Затем мне нужно распечатать их (они должны быть в обратном порядке). Я думаю, моя проблема в том, что мой l oop не закрывается.


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

  struct element {
    char letter; 
    struct element* volgende; 
};


 int main( ){
 char c;
struct element * start= NULL;
struct element* loper= NULL;
struct element* tijdelijk= NULL; 

printf (" geef een tekst in:   \n "); 

while ( scanf("%c", &c) != NULL){


    scanf("%c", &c);
    tijdelijk = (struct element* ) malloc(sizeof(struct element));

    tijdelijk->letter = c;  

    if ( loper == NULL){
        tijdelijk ->volgende = start ; 
        loper = tijdelijk ; 
    }
    else  {
        tijdelijk->volgende = loper ; 
        loper = tijdelijk ; 
    }
}


//uitprinten 
loper = tijdelijk; 
while (loper->volgende!= NULL ){
    printf("%c", loper ->letter); 
    loper  = loper->volgende; 
}

free(tijdelijk); 
    return 0; 
}


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

  struct element {
    char letter; 
    struct element* volgende; 
};


 int main( ){
 char c;
struct element * start= NULL;
struct element* loper= NULL;
struct element* tijdelijk= NULL; 

printf (" geef een tekst in:   \n "); 

while ( scanf("%c", &c) != NULL){


    scanf("%c", &c);
    tijdelijk = (struct element* ) malloc(sizeof(struct element));

    tijdelijk->letter = c;  

    if ( loper == NULL){
        tijdelijk ->volgende = start ; 
        loper = tijdelijk ; 
    }
    else  {
        tijdelijk->volgende = loper ; 
        loper = tijdelijk ; 
    }
}


//uitprinten 
loper = tijdelijk; 
while (loper->volgende!= NULL ){
    printf("%c", loper ->letter); 
    loper  = loper->volgende; 
}

free(tijdelijk); 
    return 0; 
}
...