я в настоящее время код:Строки и связанные списки - C Программирование
struct node
{
int data;
struct node *next;
}*head,*var,*trav;
void insert_at_end(int value)
{
struct node *temp;
temp=head;
var=(struct node *)malloc(sizeof (struct node));
var->data=value;
if(head==NULL)
{
head=var;
head->next=NULL;
}
else
{
while(temp->next!=NULL)
{
temp=temp->next;
}
var->next=NULL;
temp->next=var;
}
}
void display()
{
trav=head;
if(trav==NULL)
{
printf("\nList is Empty");
}
else
{
printf("\nElements in the List: ");
while(trav!=NULL)
{
printf(" -> %d ",trav->data);
trav=trav->next;
}
printf("\n");
}
}
int main(){
int value;
scanf("%d", &value);
insert_at_end(value);
display();
return 0;
}
Все отлично подходит для вставки Int работает. Но я хочу вставить строку. Слово вроде «Собака». I изменено
int data to char data[255];
И изменил все экземпляры «% d» на «% s», но это не сработает. У кого-нибудь есть идеи? Благодарю.
Вы должны предоставить код, который, по вашему мнению, должен делать все, что вы хотите. –
Вам придется «strcpy» ваши данные вместо назначения. Прямое назначение не работает с массивами. –
Как вы обновляете 'var-> data = value;'? Не бросать malloc –