В настоящее время я пытаюсь понять ФИФО связанный список и нашел пример здесь Example, и я пытаюсь ввести символ вместо int
C ФИФО связанный список голец толчок
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
struct Node
{
char Data;
struct Node* next;
}*rear, *front;
void delQueue()
{
struct Node *temp, *var=rear;
if(var==rear)
{
rear = rear->next;
free(var);
}
else
printf("\nQueue Empty");
}
void push(char *value)
{
struct Node *temp;
temp=(struct Node *)malloc(sizeof(struct Node));
temp->Data=value;
if (front == NULL)
{
front=temp;
front->next=NULL;
rear=front;
}
else
{
front->next=temp;
front=temp;
front->next=NULL;
}
}
void display()
{
struct Node *var=rear;
if(var!=NULL)
{
printf("\nElements are as: ");
while(var!=NULL)
{
printf("\t%d",var->Data);
var=var->next;
}
printf("\n");
}
else
printf("\nQueue is Empty");
}
int main()
{
int i=0;
char ch;
front=NULL;
printf(" \n1. Push to Queue");
printf(" \n2. Pop from Queue");
printf(" \n3. Display Data of Queue");
printf(" \n4. Exit\n");
while(1)
{
printf(" \nChoose Option: ");
//scanf("%d",&i);
ch = getchar();
switch(ch)
{
case '+':
{
char value[20];
printf("\nEnter a valueber to push into Queue : ");
scanf("%s", value);
push(value);
printf("%s",value);
display();
break;
}
case '-':
{
delQueue();
display();
break;
}
case '*':
{
display();
break;
}
case '$':
{
exit(0);
}
default:
{
printf("\nwrong choice for operation");
}
}
}
}
Я не могу понять это предупреждение on line 26: warning: присваивание делает целое число от указателя без литья
Я могу ввести текст, например: «Hello world», но когда я хочу его отобразить, он отображается как «-9». Я действительно смущен.
Не размещайте ссылку на ваш код. Вставьте его прямо в свой вопрос, а затем выделите его и нажмите 'cntrl + k' – JackVanier
. Предупреждение означает, что он говорит: указатель зацикливается на целочисленный или числовой тип (* eg *,' char') по какой-либо причине, не будучи явно накладывается литой. Вам нужно посмотреть код на этой строке (я не смотрел внимательно на него - код, на который вы ссылаетесь, не имеет номеров строк, и мне не хотелось их подсчитывать) и определить, сделано это намеренно или ошибочно , – lurker